(self)
| 2494 | ) |
| 2495 | |
| 2496 | def test_decode_with_int2int_map(self): |
| 2497 | a = ord('a') |
| 2498 | b = ord('b') |
| 2499 | c = ord('c') |
| 2500 | |
| 2501 | self.assertEqual( |
| 2502 | codecs.charmap_decode(b"\x00\x01\x02", "strict", |
| 2503 | {0: a, 1: b, 2: c}), |
| 2504 | ("abc", 3) |
| 2505 | ) |
| 2506 | |
| 2507 | # Issue #15379 |
| 2508 | self.assertEqual( |
| 2509 | codecs.charmap_decode(b"\x00\x01\x02", "strict", |
| 2510 | {0: 0x10FFFF, 1: b, 2: c}), |
| 2511 | ("\U0010FFFFbc", 3) |
| 2512 | ) |
| 2513 | |
| 2514 | self.assertEqual( |
| 2515 | codecs.charmap_decode(b"\x00\x01\x02", "strict", |
| 2516 | {0: sys.maxunicode, 1: b, 2: c}), |
| 2517 | (chr(sys.maxunicode) + "bc", 3) |
| 2518 | ) |
| 2519 | |
| 2520 | self.assertRaises(TypeError, |
| 2521 | codecs.charmap_decode, b"\x00\x01\x02", "strict", |
| 2522 | {0: sys.maxunicode + 1, 1: b, 2: c} |
| 2523 | ) |
| 2524 | |
| 2525 | self.assertRaises(UnicodeDecodeError, |
| 2526 | codecs.charmap_decode, b"\x00\x01\x02", "strict", |
| 2527 | {0: a, 1: b}, |
| 2528 | ) |
| 2529 | |
| 2530 | self.assertRaises(UnicodeDecodeError, |
| 2531 | codecs.charmap_decode, b"\x00\x01\x02", "strict", |
| 2532 | {0: a, 1: b, 2: 0xFFFE}, |
| 2533 | ) |
| 2534 | |
| 2535 | self.assertEqual( |
| 2536 | codecs.charmap_decode(b"\x00\x01\x02", "replace", |
| 2537 | {0: a, 1: b}), |
| 2538 | ("ab\ufffd", 3) |
| 2539 | ) |
| 2540 | |
| 2541 | self.assertEqual( |
| 2542 | codecs.charmap_decode(b"\x00\x01\x02", "replace", |
| 2543 | {0: a, 1: b, 2: 0xFFFE}), |
| 2544 | ("ab\ufffd", 3) |
| 2545 | ) |
| 2546 | |
| 2547 | self.assertEqual( |
| 2548 | codecs.charmap_decode(b"\x00\x01\x02", "backslashreplace", |
| 2549 | {0: a, 1: b}), |
| 2550 | ("ab\\x02", 3) |
| 2551 | ) |
| 2552 | |
| 2553 | self.assertEqual( |
nothing calls this directly
no test coverage detected