[Python-checkins] python/dist/src/Lib/test test_re.py,1.38,1.39

montanaro@users.sourceforge.net montanaro@users.sourceforge.net
Fri, 25 Apr 2003 09:00:26 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv13121

Modified Files:
	test_re.py 
Log Message:
final bit of tests converted from test_sre


Index: test_re.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_re.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** test_re.py	25 Apr 2003 15:40:28 -0000	1.38
--- test_re.py	25 Apr 2003 16:00:14 -0000	1.39
***************
*** 17,26 ****
          self.assertEqual(re.search('x+', 'axx').span(0), (1, 3))
          self.assertEqual(re.search('x+', 'axx').span(), (1, 3))
!         self.assertEqual(re.search('x', 'aaa') is None, True)
          self.assertEqual(re.match('a*', 'xxx').span(0), (0, 0))
          self.assertEqual(re.match('a*', 'xxx').span(), (0, 0))
          self.assertEqual(re.match('x*', 'xxxa').span(0), (0, 3))
          self.assertEqual(re.match('x*', 'xxxa').span(), (0, 3))
!         self.assertEqual(re.match('a+', 'xxx') is None, True)
  
      def bump_num(self, matchobj):
--- 17,26 ----
          self.assertEqual(re.search('x+', 'axx').span(0), (1, 3))
          self.assertEqual(re.search('x+', 'axx').span(), (1, 3))
!         self.assertEqual(re.search('x', 'aaa'), None)
          self.assertEqual(re.match('a*', 'xxx').span(0), (0, 0))
          self.assertEqual(re.match('a*', 'xxx').span(), (0, 0))
          self.assertEqual(re.match('x*', 'xxxa').span(0), (0, 3))
          self.assertEqual(re.match('x*', 'xxxa').span(), (0, 3))
!         self.assertEqual(re.match('a+', 'xxx'), None)
  
      def bump_num(self, matchobj):
***************
*** 134,144 ****
                                                                 (":", "::")])
  
      def test_re_match(self):
!         # No groups at all
!         m = re.match('a', 'a')
!         self.assertEqual(m.groups(), ())
!         # A single group
!         m = re.match('(a)', 'a')
!         self.assertEqual(m.groups(), ('a',))
  
          pat = re.compile('((a)|(b))(c)?')
--- 134,147 ----
                                                                 (":", "::")])
  
+     def test_bug_117612(self):
+         self.assertEqual(re.findall(r"(a|(b))", "aba"),
+                          [("a", ""),("b", "b"),("a", "")])
+ 
      def test_re_match(self):
!         self.assertEqual(re.match('a', 'a').groups(), ())
!         self.assertEqual(re.match('(a)', 'a').groups(), ('a',))
!         self.assertEqual(re.match(r'(a)', 'a').group(0), 'a')
!         self.assertEqual(re.match(r'(a)', 'a').group(1), 'a')
!         self.assertEqual(re.match(r'(a)', 'a').group(1, 1), ('a', 'a'))
  
          pat = re.compile('((a)|(b))(c)?')
***************
*** 264,267 ****
--- 267,284 ----
                           (['sum', 'op=', 3, 'op*', 'foo', 'op+', 312.5,
                             'op+', 'bar'], ''))
+ 
+     def test_bug_448951(self):
+         # bug 448951 (similar to 429357, but with single char match)
+         # (Also test greedy matches.)
+         for op in '','?','*':
+             self.assertEqual(re.match(r'((.%s):)?z'%op, 'z').groups(),
+                              (None, None))
+             self.assertEqual(re.match(r'((.%s):)?z'%op, 'a:z').groups(),
+                              ('a:', 'a'))
+ 
+     def test_finditer(self):
+         iter = re.finditer(r":+", "a:b::c:::d")
+         self.assertEqual([item.group(0) for item in iter],
+                          [":", "::", ":::"])
  
  def run_re_tests():