MCPcopy Index your code
hub / github.com/python/cpython / test_repeat_minmax

Method test_repeat_minmax

Lib/test/test_re.py:750–784  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

748 " ")
749
750 def test_repeat_minmax(self):
751 self.assertIsNone(re.match(r"^(\w){1}$", "abc"))
752 self.assertIsNone(re.match(r"^(\w){1}?$", "abc"))
753 self.assertIsNone(re.match(r"^(\w){1,2}$", "abc"))
754 self.assertIsNone(re.match(r"^(\w){1,2}?$", "abc"))
755
756 self.assertEqual(re.match(r"^(\w){3}$", "abc").group(1), "c")
757 self.assertEqual(re.match(r"^(\w){1,3}$", "abc").group(1), "c")
758 self.assertEqual(re.match(r"^(\w){1,4}$", "abc").group(1), "c")
759 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
760 self.assertEqual(re.match(r"^(\w){3}?$", "abc").group(1), "c")
761 self.assertEqual(re.match(r"^(\w){1,3}?$", "abc").group(1), "c")
762 self.assertEqual(re.match(r"^(\w){1,4}?$", "abc").group(1), "c")
763 self.assertEqual(re.match(r"^(\w){3,4}?$", "abc").group(1), "c")
764
765 self.assertIsNone(re.match(r"^x{1}$", "xxx"))
766 self.assertIsNone(re.match(r"^x{1}?$", "xxx"))
767 self.assertIsNone(re.match(r"^x{1,2}$", "xxx"))
768 self.assertIsNone(re.match(r"^x{1,2}?$", "xxx"))
769
770 self.assertTrue(re.match(r"^x{3}$", "xxx"))
771 self.assertTrue(re.match(r"^x{1,3}$", "xxx"))
772 self.assertTrue(re.match(r"^x{3,3}$", "xxx"))
773 self.assertTrue(re.match(r"^x{1,4}$", "xxx"))
774 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
775 self.assertTrue(re.match(r"^x{3}?$", "xxx"))
776 self.assertTrue(re.match(r"^x{1,3}?$", "xxx"))
777 self.assertTrue(re.match(r"^x{1,4}?$", "xxx"))
778 self.assertTrue(re.match(r"^x{3,4}?$", "xxx"))
779
780 self.assertIsNone(re.match(r"^x{}$", "xxx"))
781 self.assertTrue(re.match(r"^x{}$", "x{}"))
782
783 self.checkPatternError(r'x{2,1}',
784 'min repeat greater than max repeat', 2)
785
786 def test_getattr(self):
787 self.assertEqual(re.compile("(?i)(a)(b)").pattern, "(?i)(a)(b)")

Callers

nothing calls this directly

Calls 6

checkPatternErrorMethod · 0.95
assertIsNoneMethod · 0.80
assertTrueMethod · 0.80
matchMethod · 0.45
assertEqualMethod · 0.45
groupMethod · 0.45

Tested by

no test coverage detected