(self)
| 604 | self.assertRaises(TypeError, len, m) |
| 605 | |
| 606 | def test_re_fullmatch(self): |
| 607 | # Issue 16203: Proposal: add re.fullmatch() method. |
| 608 | self.assertEqual(re.fullmatch(r"a", "a").span(), (0, 1)) |
| 609 | for string in "ab", S("ab"): |
| 610 | self.assertEqual(re.fullmatch(r"a|ab", string).span(), (0, 2)) |
| 611 | for string in b"ab", B(b"ab"), bytearray(b"ab"), memoryview(b"ab"): |
| 612 | self.assertEqual(re.fullmatch(br"a|ab", string).span(), (0, 2)) |
| 613 | for a, b in "\xe0\xdf", "\u0430\u0431", "\U0001d49c\U0001d49e": |
| 614 | r = r"%s|%s" % (a, a + b) |
| 615 | self.assertEqual(re.fullmatch(r, a + b).span(), (0, 2)) |
| 616 | self.assertEqual(re.fullmatch(r".*?$", "abc").span(), (0, 3)) |
| 617 | self.assertEqual(re.fullmatch(r".*?", "abc").span(), (0, 3)) |
| 618 | self.assertEqual(re.fullmatch(r"a.*?b", "ab").span(), (0, 2)) |
| 619 | self.assertEqual(re.fullmatch(r"a.*?b", "abb").span(), (0, 3)) |
| 620 | self.assertEqual(re.fullmatch(r"a.*?b", "axxb").span(), (0, 4)) |
| 621 | self.assertIsNone(re.fullmatch(r"a+", "ab")) |
| 622 | self.assertIsNone(re.fullmatch(r"abc$", "abc\n")) |
| 623 | self.assertIsNone(re.fullmatch(r"abc\z", "abc\n")) |
| 624 | self.assertIsNone(re.fullmatch(r"abc\Z", "abc\n")) |
| 625 | self.assertIsNone(re.fullmatch(r"(?m)abc$", "abc\n")) |
| 626 | self.assertEqual(re.fullmatch(r"ab(?=c)cd", "abcd").span(), (0, 4)) |
| 627 | self.assertEqual(re.fullmatch(r"ab(?<=b)cd", "abcd").span(), (0, 4)) |
| 628 | self.assertEqual(re.fullmatch(r"(?=a|ab)ab", "ab").span(), (0, 2)) |
| 629 | |
| 630 | self.assertEqual( |
| 631 | re.compile(r"bc").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 632 | self.assertEqual( |
| 633 | re.compile(r".*?$").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 634 | self.assertEqual( |
| 635 | re.compile(r".*?").fullmatch("abcd", pos=1, endpos=3).span(), (1, 3)) |
| 636 | |
| 637 | def test_re_groupref_exists(self): |
| 638 | self.assertEqual(re.match(r'^(\()?([^()]+)(?(1)\))$', '(a)').groups(), |
nothing calls this directly
no test coverage detected