!! Version 2 # Force the test runner to ensure the extension is loaded !! functionhooks af_search !! endfunctionhooks # This file tests the #af_search parser function !! test Test value not in array returns empty string !! wikitext {{#af_search: {{#af_list: a | b | c }} | d }} !! html !! end !! test Test value in list returns integer !! wikitext {{#af_search: {{#af_list: a | b | c }} | c }} !! html
integer__^__2
!! end !! test Test value in object returns string !! wikitext {{#af_search: {{#af_object: a=a | b=bb | c=c }} | c }} !! htmlc
!! end !! test Test comparison is strict !! wikitext {{#af_search: {{#af_list: 1 | {{#af_int: 1 }} }} | 1 }} {{#af_search: {{#af_list: 1 | {{#af_int: 1 }} }} | {{#af_int: 1 }} }} !! htmlinteger__^__0 integer__^__1
!! end !! test Test search subarray !! wikitext {{#af_search: {{#af_list: {{#af_list: a | b | c }} | {{#af_list: d | e | f }} }} | {{#af_list: d | e | f }} }} !! htmlinteger__^__1
!! end !! test Test multiple occurrences return first key !! wikitext {{#af_search: {{#af_list: {{#af_list: a | b | c }} | {{#af_list: a | b | c }} }} | {{#af_list: a | b | c }} }} !! htmlinteger__^__0
!! end !! test Test too many arguments !! wikitext {{#af_search: {{#af_list: a | b | c }} | a | b }} !! htmlArrayFunctions (#af_search): Expected at most 2 positional parameters, 3 given.
!! end !! test Test too few arguments !! wikitext {{#af_search: {{#af_list: a | b | c }} }} !! htmlArrayFunctions (#af_search): Expected at least 2 positional parameters, 1 given.
!! end