def test_pipes_inside_params_or_templates(): pf = ParserFunction('{{ #if: test | {{ text | aaa }} }}') assert [] == pf.parameters assert 2 == len(pf.arguments) pf = ParserFunction('{{ #if: test | {{{ text | aaa }}} }}') assert 1 == len(pf.parameters) assert 2 == len(pf.arguments)
def test_pipes_inside_params_or_templates(self): pf = ParserFunction('{{ #if: test | {{ text | aaa }} }}') self.assertEqual([], pf.parameters) self.assertEqual(2, len(pf.arguments)) pf = ParserFunction('{{ #if: test | {{{ text | aaa }}} }}') self.assertEqual(1, len(pf.parameters)) self.assertEqual(2, len(pf.arguments))
def test_get_lists_deprecation(): with warns(DeprecationWarning): list_ = ParserFunction('{{#if:|*a\n*b}}').get_lists(None)[0] with warns(DeprecationWarning): list_.get_lists(None) with warns(DeprecationWarning): list_.sublists(pattern=None)
def test_name_and_args(self): pf = ParserFunction('{{ #if: test | true | false }}') self.assertEqual(' #if', pf.name) self.assertEqual( [': test ', '| true ', '| false '], [a.string for a in pf.arguments] )
def test_pformat_pf_directly(): assert ( '{{#iferror:\n' ' <t a="">\n' ' | yes\n' ' | no\n' '}}') == ParserFunction('{{#iferror:<t a="">|yes|no}}').pformat()
def test_pformat_pf_directly(self): self.assertEqual( '{{#iferror:\n' ' <t a="">\n' ' | yes\n' ' | no\n' '}}', ParserFunction('{{#iferror:<t a="">|yes|no}}').pformat())
def test_name_and_args(): f = ParserFunction('{{ #if: test | true | false }}') assert ' #if' == f.name args = f.arguments assert [': test ', '| true ', '| false '] ==\ [a.string for a in args] assert args[0].name == '1' assert args[2].name == '3'
def test_set_name(self): pf = ParserFunction('{{ #if: test | true | false }}') pf.name = pf.name.strip(WS) self.assertEqual('{{#if: test | true | false }}', pf.string)
def test_repr(self): pf = ParserFunction('{{#if:a|b}}') self.assertEqual(repr(pf), "ParserFunction('{{#if:a|b}}')")
def test_parser_function(): assert repr(ParserFunction('{{#if:a|{{#if:b|c}}}}').parser_functions[0]) \ == "ParserFunction('{{#if:b|c}}')"
def test_tag_containing_pipe(): assert len(ParserFunction("{{text|a<s |>b</s>c}}").arguments) == 1
def test_tag_containing_pipe(self): self.assertEqual(len( ParserFunction("{{text|a<s |>b</s>c}}").arguments), 1)
def test_set_name(): pf = ParserFunction('{{ #if: test | true | false }}') pf.name = pf.name.strip(WS) assert '{{#if: test | true | false }}' == pf.string
def test_repr(): assert repr(ParserFunction('{{#if:a|b}}')) ==\ "ParserFunction('{{#if:a|b}}')"
def test_args_containing_braces(): assert 4 == len(ParserFunction('{{#pf:\n{|2\n|3\n|}\n}}').arguments)
def test_name_and_args(self): ae = self.assertEqual f = ParserFunction('{{ #if: test | true | false }}') ae(' #if', f.name) ae([': test ', '| true ', '| false '], [a.string for a in f.arguments])
def test_repr(self): self.assertEqual(repr(ParserFunction('{{#if:a|b}}')), "ParserFunction('{{#if:a|b}}')")
def test_args_containing_braces(self): self.assertEqual( 4, len(ParserFunction('{{#pf:\n{|2\n|3\n|}\n}}').arguments))