| 2107 | [b'xyz'], msg=pattern) |
| 2108 | |
| 2109 | def test_match_repr(self): |
| 2110 | for string in '[abracadabra]', S('[abracadabra]'): |
| 2111 | m = re.search(r'(.+)(.*?)\1', string) |
| 2112 | pattern = r"<(%s\.)?%s object; span=\(1, 12\), match='abracadabra'>" % ( |
| 2113 | type(m).__module__, type(m).__qualname__ |
| 2114 | ) |
| 2115 | self.assertRegex(repr(m), pattern) |
| 2116 | for string in (b'[abracadabra]', B(b'[abracadabra]'), |
| 2117 | bytearray(b'[abracadabra]'), |
| 2118 | memoryview(b'[abracadabra]')): |
| 2119 | m = re.search(br'(.+)(.*?)\1', string) |
| 2120 | pattern = r"<(%s\.)?%s object; span=\(1, 12\), match=b'abracadabra'>" % ( |
| 2121 | type(m).__module__, type(m).__qualname__ |
| 2122 | ) |
| 2123 | self.assertRegex(repr(m), pattern) |
| 2124 | |
| 2125 | first, second = list(re.finditer("(aa)|(bb)", "aa bb")) |
| 2126 | pattern = r"<(%s\.)?%s object; span=\(0, 2\), match='aa'>" % ( |
| 2127 | type(second).__module__, type(second).__qualname__ |
| 2128 | ) |
| 2129 | self.assertRegex(repr(first), pattern) |
| 2130 | pattern = r"<(%s\.)?%s object; span=\(3, 5\), match='bb'>" % ( |
| 2131 | type(second).__module__, type(second).__qualname__ |
| 2132 | ) |
| 2133 | self.assertRegex(repr(second), pattern) |
| 2134 | |
| 2135 | def test_zerowidth(self): |
| 2136 | # Issues 852532, 1647489, 3262, 25054. |