(self)
| 1489 | self.checkPatternError(r"\U00110000", r'bad escape \U00110000', 0) |
| 1490 | |
| 1491 | def test_sre_character_class_literals(self): |
| 1492 | for i in [0, 8, 16, 32, 64, 127, 128, 255, 256, 0xFFFF, 0x10000, 0x10FFFF]: |
| 1493 | if i < 256: |
| 1494 | self.assertTrue(re.match(r"[\%o]" % i, chr(i))) |
| 1495 | self.assertTrue(re.match(r"[\%o8]" % i, chr(i))) |
| 1496 | self.assertTrue(re.match(r"[\%03o]" % i, chr(i))) |
| 1497 | self.assertTrue(re.match(r"[\%03o0]" % i, chr(i))) |
| 1498 | self.assertTrue(re.match(r"[\%03o8]" % i, chr(i))) |
| 1499 | self.assertTrue(re.match(r"[\x%02x]" % i, chr(i))) |
| 1500 | self.assertTrue(re.match(r"[\x%02x0]" % i, chr(i))) |
| 1501 | self.assertTrue(re.match(r"[\x%02xz]" % i, chr(i))) |
| 1502 | if i < 0x10000: |
| 1503 | self.assertTrue(re.match(r"[\u%04x]" % i, chr(i))) |
| 1504 | self.assertTrue(re.match(r"[\u%04x0]" % i, chr(i))) |
| 1505 | self.assertTrue(re.match(r"[\u%04xz]" % i, chr(i))) |
| 1506 | self.assertTrue(re.match(r"[\U%08x]" % i, chr(i))) |
| 1507 | self.assertTrue(re.match(r"[\U%08x0]" % i, chr(i)+"0")) |
| 1508 | self.assertTrue(re.match(r"[\U%08xz]" % i, chr(i)+"z")) |
| 1509 | self.checkPatternError(r"[\567]", |
| 1510 | r'octal escape value \567 outside of ' |
| 1511 | r'range 0-0o377', 1) |
| 1512 | self.checkPatternError(r"[\911]", r'bad escape \9', 1) |
| 1513 | self.checkPatternError(r"[\x1z]", r'incomplete escape \x1', 1) |
| 1514 | self.checkPatternError(r"[\u123z]", r'incomplete escape \u123', 1) |
| 1515 | self.checkPatternError(r"[\U0001234z]", r'incomplete escape \U0001234', 1) |
| 1516 | self.checkPatternError(r"[\U00110000]", r'bad escape \U00110000', 1) |
| 1517 | self.assertTrue(re.match(r"[\U0001d49c-\U0001d4b5]", "\U0001d49e")) |
| 1518 | |
| 1519 | def test_sre_byte_literals(self): |
| 1520 | for i in [0, 8, 16, 32, 64, 127, 128, 255]: |
nothing calls this directly
no test coverage detected