MCPcopy Index your code
hub / github.com/python/cpython / check_decode

Method check_decode

Lib/test/test_codecs.py:3300–3329  ·  view source on GitHub ↗
(self, cp, tests)

Source from the content-addressed store, hash-verified

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:

Callers 6

test_cp932Method · 0.95
test_cp1252Method · 0.95
test_cp708Method · 0.95
test_cp20106Method · 0.95
test_cp_utf7Method · 0.95

Calls 6

assertGreaterEqualMethod · 0.80
assertLessEqualMethod · 0.80
failMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected