def test_uncaptured_regex_tag(self): node_list = [ grammar.RegexTagNode('', '[0-9]{2}'), ] self.assertEqual( grammar.RegexScribe(node_list).translate(), '[0-9]{2}', )
def test_regex_tag(self): node_list = [ grammar.RegexTagNode('simple', '[0-9]{2}'), ] self.assertEqual( grammar.RegexScribe(node_list).translate(), '(?P<simple>[0-9]{2})', )
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_regex(self): self.assertEqual( grammar.Parser('<=.*>').get_node_list(), [grammar.RegexTagNode('', '.*')])
def test_regex_tag(self): self.assertEqual( grammar.Parser('<test=.*>').get_node_list(), [grammar.RegexTagNode('test', '.*')])