(self)
| 2715 | self.assertEqual(decode(br'\x\501', 'ignore'), ('\u0141', 6)) |
| 2716 | |
| 2717 | def test_decode_errors(self): |
| 2718 | decode = codecs.unicode_escape_decode |
| 2719 | for c, d in (b'x', 2), (b'u', 4), (b'U', 4): |
| 2720 | for i in range(d): |
| 2721 | self.assertRaises(UnicodeDecodeError, decode, |
| 2722 | b"\\" + c + b"0"*i) |
| 2723 | self.assertRaises(UnicodeDecodeError, decode, |
| 2724 | b"[\\" + c + b"0"*i + b"]") |
| 2725 | data = b"[\\" + c + b"0"*i + b"]\\" + c + b"0"*i |
| 2726 | self.assertEqual(decode(data, "ignore"), ("[]", len(data))) |
| 2727 | self.assertEqual(decode(data, "replace"), |
| 2728 | ("[\ufffd]\ufffd", len(data))) |
| 2729 | self.assertRaises(UnicodeDecodeError, decode, br"\U00110000") |
| 2730 | self.assertEqual(decode(br"\U00110000", "ignore"), ("", 10)) |
| 2731 | self.assertEqual(decode(br"\U00110000", "replace"), ("\ufffd", 10)) |
| 2732 | |
| 2733 | def test_partial(self): |
| 2734 | self.check_partial( |
nothing calls this directly
no test coverage detected