def test_optional_nested(self): self.assertEqual( grammar.Parser('((text))').get_node_list(), [ grammar.OptionalNode( [grammar.OptionalNode([grammar.TextNode('text')])]) ], )
def test_optional2(self): self.assertEqual( grammar.Parser('(optional)required').get_node_list(), [ grammar.OptionalNode([grammar.TextNode('optional')]), grammar.TextNode('required') ], )
def test_parser_wildcard3(self): self.assertEqual( grammar.Parser('*text*').get_node_list(), [ grammar.WildcardNode(), grammar.TextNode('text'), grammar.WildcardNode() ], )
def test_complex(self): self.assertEqual( grammar.Parser( '/articles/<id=\d{5}>/<year:Y>/(<slug>/)').get_node_list(), [ grammar.TextNode('/articles/'), grammar.RegexTagNode('id', r'\d{5}'), grammar.TextNode('/'), grammar.MacroTagNode('year', 'Y'), grammar.TextNode('/'), grammar.OptionalNode([ grammar.TagNode('slug'), grammar.TextNode('/'), ]), ])
def test_unnamed_macro(self): self.assertEqual( grammar.Parser('<:m>').get_node_list(), [grammar.MacroTagNode('', 'm')])
def test_unnamed_regex(self): self.assertEqual( grammar.Parser('<=.*>').get_node_list(), [grammar.RegexTagNode('', '.*')])
def test_macro_tag(self): self.assertEqual( grammar.Parser('<test:m>').get_node_list(), [grammar.MacroTagNode('test', 'm')])
def test_regex_tag(self): self.assertEqual( grammar.Parser('<test=.*>').get_node_list(), [grammar.RegexTagNode('test', '.*')])
def test_tag(self): self.assertEqual( grammar.Parser('<test>').get_node_list(), [grammar.TagNode('test')])
def test_optional_multiple(self): self.assertEqual( grammar.Parser('()()').get_node_list(), [grammar.OptionalNode([]), grammar.OptionalNode([])], )
def test_optional_empty(self): self.assertEqual( grammar.Parser('()').get_node_list(), [grammar.OptionalNode([])], )
def test_parser_wildcard_simple(self): parser = grammar.Parser('*') self.assertEqual(parser.get_node_list(), [grammar.WildcardNode()])
def test_parser_simple1(self): self.assertEqual( grammar.Parser(r'a\backslash').get_node_list(), [grammar.TextNode('abackslash')], )
def test_parser_simple(self): parser = grammar.Parser('test') self.assertEqual(parser.get_node_list(), [grammar.TextNode('test')])