Exemple #1
0
 def test_optional_nested(self):
     self.assertEqual(
         grammar.Parser('((text))').get_node_list(),
         [
             grammar.OptionalNode(
                 [grammar.OptionalNode([grammar.TextNode('text')])])
         ],
     )
Exemple #2
0
 def test_optional2(self):
     self.assertEqual(
         grammar.Parser('(optional)required').get_node_list(),
         [
             grammar.OptionalNode([grammar.TextNode('optional')]),
             grammar.TextNode('required')
         ],
     )
Exemple #3
0
 def test_optional(self):
     node_list = [
         grammar.TextNode('required'),
         grammar.OptionalNode([
             grammar.TextNode('optional'),
         ]),
     ]
     self.assertEqual(
         grammar.RegexScribe(node_list).translate(), 'required(optional)?')
Exemple #4
0
 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('/'),
                 ]),
             ])
Exemple #5
0
 def test_optional_multiple(self):
     self.assertEqual(
         grammar.Parser('()()').get_node_list(),
         [grammar.OptionalNode([]),
          grammar.OptionalNode([])],
     )
Exemple #6
0
 def test_optional_empty(self):
     self.assertEqual(
         grammar.Parser('()').get_node_list(),
         [grammar.OptionalNode([])],
     )