!! Version 2 # Force the test runner to ensure the extension is loaded !! functionhooks af_isarray !! endfunctionhooks # This file tests the #af_isarray parser function !! test Test empty list gives true !! wikitext {{#af_isarray: {{AF_EMPTY}} }} !! html
boolean__^__1
!! end !! test Test singleton list gives true !! wikitext {{#af_isarray: {{#af_list: a }} }} !! htmlboolean__^__1
!! end !! test Test list gives true !! wikitext {{#af_isarray: {{#af_list: a | b | c }} }} !! htmlboolean__^__1
!! end !! test Test object gives true !! wikitext {{#af_isarray: {{#af_object: foo=bar }} }} !! htmlboolean__^__1
!! end !! test Test boolean gives false !! wikitext {{#af_isarray: {{#af_bool: yes }} }} !! htmlboolean__^__0
!! end !! test Test string gives false !! wikitext {{#af_isarray: foobar }} !! htmlboolean__^__0
!! end !! test Test integer gives false !! wikitext {{#af_isarray: {{#af_int: 10 }} }} !! htmlboolean__^__0
!! end !! test Test float gives false !! wikitext {{#af_isarray: {{#af_float: 10.12 }} }} !! htmlboolean__^__0
!! end !! test Test too many arguments !! wikitext {{#af_isarray: {{#af_list: a }} | yes }} !! htmlArrayFunctions (#af_isarray): Expected at most 1 positional parameter, 2 given.
!! end !! test Test whitespace gives false !! wikitext {{#af_isarray: }} !! htmlboolean__^__0
!! end !! test Test nested list gives true !! wikitext {{#af_isarray: {{#af_list: {{#af_list: a | b | c }} | {{#af_list: d | e | f }} }} }} !! htmlboolean__^__1
!! end !! test Test nested object gives true !! wikitext {{#af_isarray: {{#af_object: foo={{#af_object: bar=baz }} }} }} !! htmlboolean__^__1
!! end !! test Test mixed object and list gives true !! wikitext {{#af_isarray: {{#af_object: foo={{#af_list: a | b | c }} }} }} !! htmlboolean__^__1
!! end !! test Test array with mixed types gives true !! wikitext {{#af_isarray: {{#af_list: a | {{#af_object: foo=bar }} | {{#af_int: 10 }} }} }} !! htmlboolean__^__1
!! end !! test Test empty string gives false !! wikitext {{#af_isarray: "" }} !! htmlboolean__^__0
!! end !! test Test invalid input type gives error !! wikitext {{#af_isarray: {{#af_bool: invalid }} }} !! htmlboolean__^__0
!! end