(self, cp, tests)
| 3298 | codecs.code_page_decode, self.CP_UTF8, b'\xff', 'strict', True) |
| 3299 | |
| 3300 | def check_decode(self, cp, tests): |
| 3301 | for raw, errors, expected, *rest in tests: |
| 3302 | if rest: |
| 3303 | altexpected, = rest |
| 3304 | else: |
| 3305 | altexpected = expected |
| 3306 | if expected is not None: |
| 3307 | try: |
| 3308 | decoded = codecs.code_page_decode(cp, raw, errors, True) |
| 3309 | except UnicodeDecodeError as err: |
| 3310 | self.fail('Unable to decode %a from "cp%s" with ' |
| 3311 | 'errors=%r: %s' % (raw, cp, errors, err)) |
| 3312 | self.assertEqual(decoded[0], expected, |
| 3313 | '%a.decode("cp%s", %r)=%a != %a' |
| 3314 | % (raw, cp, errors, decoded[0], expected)) |
| 3315 | # assert 0 <= decoded[1] <= len(raw) |
| 3316 | self.assertGreaterEqual(decoded[1], 0) |
| 3317 | self.assertLessEqual(decoded[1], len(raw)) |
| 3318 | else: |
| 3319 | self.assertRaises(UnicodeDecodeError, |
| 3320 | codecs.code_page_decode, cp, raw, errors, True) |
| 3321 | |
| 3322 | if altexpected is not None: |
| 3323 | decoded = raw.decode(f'cp{cp}', errors) |
| 3324 | self.assertEqual(decoded, altexpected, |
| 3325 | '%a.decode("cp%s", %r)=%a != %a' |
| 3326 | % (raw, cp, errors, decoded, altexpected)) |
| 3327 | else: |
| 3328 | self.assertRaises(UnicodeDecodeError, |
| 3329 | raw.decode, f'cp{cp}', errors) |
| 3330 | |
| 3331 | def check_encode(self, cp, tests): |
| 3332 | for text, errors, expected, *rest in tests: |
no test coverage detected