Exemple #1
0
 def test_escaped_space_parsing(self):
     r = Regex.get_parse_tree(r'\ a')
     l = list(find_all(r))[1:]  # skip root
     print('\n'.join(fmttree(r)))
     self.assertEqual(2, len(l))
     self.assertEqual(r'\ ', l[0].data)
     self.assertEqual(Other.Suspicious, l[0].type)
Exemple #2
0
 def test_charclass_parsing(self):
     r = Regex.get_parse_tree(r'[ a]')
     l = list(find_all(r))[1:]  # skip root
     print('\n'.join(fmttree(r)))
     self.assertEqual(3, len(l))
     self.assertEqual(r' ', l[1].data)
     self.assertEqual(r'a', l[2].data)
Exemple #3
0
 def test_escaped_space_parsing(self):
     r = Regex.get_parse_tree(r'\ a')
     l = list(find_all(r))[1:] # skip root
     print '\n'.join(fmttree(r))
     self.assertEquals(2, len(l))
     self.assertEquals(r'\ ', l[0].data)
     self.assertEquals(Other.Suspicious, l[0].type)
Exemple #4
0
 def test_charclass_parsing(self):
     r = Regex.get_parse_tree(r'[ a]')
     l = list(find_all(r))[1:] # skip root
     print '\n'.join(fmttree(r))
     self.assertEquals(3, len(l))
     self.assertEquals(r' ', l[1].data)
     self.assertEquals(r'a', l[2].data)
Exemple #5
0
 def test_repetition_curly2(self):
     r = Regex.get_parse_tree(r'x{2,5}')
     l = list(find_all(r))[1:]  # skip root
     self.assertEqual(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEqual(2, l[0].min)
     self.assertEqual(5, l[0].max)
     self.assertEqual(True, l[0].greedy)
Exemple #6
0
 def test_repetition_plus(self):
     r = Regex.get_parse_tree(r'x+')
     l = list(find_all(r))[1:]  # skip root
     self.assertEquals(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEquals(1, l[0].min)
     self.assertEquals(None, l[0].max)
     self.assertEquals(True, l[0].greedy)
Exemple #7
0
 def test_repetition_curly2(self):
     r = Regex.get_parse_tree(r'x{2,5}')
     l = list(find_all(r))[1:] # skip root
     self.assertEquals(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEquals(2, l[0].min)
     self.assertEquals(5, l[0].max)
     self.assertEquals(True, l[0].greedy)
Exemple #8
0
 def test_repetition_plus(self):
     r = Regex.get_parse_tree(r'x+')
     l = list(find_all(r))[1:] # skip root
     self.assertEqual(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEqual(1, l[0].min)
     self.assertEqual(None, l[0].max)
     self.assertEqual(True, l[0].greedy)
Exemple #9
0
 def test_repetition_curly1(self):
     r = Regex.get_parse_tree(r'x{5,5}?')
     print('\n'.join(fmttree(r)))
     l = list(find_all(r))[1:]  # skip root
     self.assertEqual(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEqual(5, l[0].min)
     self.assertEqual(5, l[0].max)
     self.assertEqual(False, l[0].greedy)
Exemple #10
0
 def test_repetition_curly1(self):
     r = Regex.get_parse_tree(r'x{5,5}?')
     print '\n'.join(fmttree(r))
     l = list(find_all(r))[1:] # skip root
     self.assertEquals(2, len(l))
     # l[0] is Repetition, l[1] is Literal(x)
     self.assertEquals(5, l[0].min)
     self.assertEquals(5, l[0].max)
     self.assertEquals(False, l[0].greedy)
Exemple #11
0
 def test_basic_verbose_parsing(self):
     r = Regex.get_parse_tree(r'''(?x)  a   b # comment
                     c
                     d''')
     l = list(find_all(r))[1:]  # skip root
     print('\n'.join(fmttree(r)))
     self.assertEqual(5, len(l))
     self.assertEqual((4, 6), (l[1].parsed_start, l[1].start))
     self.assertEqual('d', l[-1].data)
     self.assertEqual((7, 72), (l[-1].parsed_start, l[-1].start))
Exemple #12
0
 def test_basic_verbose_parsing(self):
     r = Regex.get_parse_tree(r'''(?x)  a   b # comment
                     c
                     d''')
     l = list(find_all(r))[1:] # skip root
     print '\n'.join(fmttree(r))
     self.assertEquals(5, len(l))
     self.assertEquals((4, 6), (l[1].parsed_start, l[1].start))
     self.assertEquals('d', l[-1].data)
     self.assertEquals((7, 72), (l[-1].parsed_start, l[-1].start))
Exemple #13
0
 def test_complex_charclass(Self):
     r = Regex.get_parse_tree(r'[]\[:_@\".{}()|;,]')
     l = list(find_all(r))[1:]  # skip root
     print('\n'.join(fmttree(r)))
Exemple #14
0
 def test_width(self):
     r = Regex.get_parse_tree(r'\s(?#foo)\b')
     l = list(find_all(r))[1:]  # skip root
     self.assertEqual([True, False, False], [width(i.type) for i in l])
Exemple #15
0
 def test_complex_charclass(Self):
     r = Regex.get_parse_tree(r'[]\[:_@\".{}()|;,]')
     l = list(find_all(r))[1:] # skip root
     print '\n'.join(fmttree(r))
Exemple #16
0
 def test_width(self):
     r = Regex.get_parse_tree(r'\s(?#foo)\b')
     l = list(find_all(r))[1:] # skip root
     self.assertEquals([True, False, False],
                       [width(i.type) for i in l])