MCPcopy Index your code
hub / github.com/RustPython/RustPython / check_decode

Method check_decode

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

Source from the content-addressed store, hash-verified

3309 codecs.code_page_decode, self.CP_UTF8, b'\xff', 'strict', True)
3310
3311 def check_decode(self, cp, tests):
3312 for raw, errors, expected, *rest in tests:
3313 if rest:
3314 altexpected, = rest
3315 else:
3316 altexpected = expected
3317 if expected is not None:
3318 try:
3319 decoded = codecs.code_page_decode(cp, raw, errors, True)
3320 except UnicodeDecodeError as err:
3321 self.fail('Unable to decode %a from "cp%s" with '
3322 'errors=%r: %s' % (raw, cp, errors, err))
3323 self.assertEqual(decoded[0], expected,
3324 '%a.decode("cp%s", %r)=%a != %a'
3325 % (raw, cp, errors, decoded[0], expected))
3326 # assert 0 <= decoded[1] <= len(raw)
3327 self.assertGreaterEqual(decoded[1], 0)
3328 self.assertLessEqual(decoded[1], len(raw))
3329 else:
3330 self.assertRaises(UnicodeDecodeError,
3331 codecs.code_page_decode, cp, raw, errors, True)
3332
3333 if altexpected is not None:
3334 decoded = raw.decode(f'cp{cp}', errors)
3335 self.assertEqual(decoded, altexpected,
3336 '%a.decode("cp%s", %r)=%a != %a'
3337 % (raw, cp, errors, decoded, altexpected))
3338 else:
3339 self.assertRaises(UnicodeDecodeError,
3340 raw.decode, f'cp{cp}', errors)
3341
3342 def check_encode(self, cp, tests):
3343 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 7

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

Tested by

no test coverage detected