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

Method test_check_encoding_errors

Lib/test/test_str.py:2641–2699  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2639 support.check_free_after_iterating(self, reversed, str)
2640
2641 def test_check_encoding_errors(self):
2642 # bpo-37388: str(bytes) and str.decode() must check encoding and errors
2643 # arguments in dev mode
2644 encodings = ('ascii', 'utf8', 'latin1')
2645 invalid = 'Boom, Shaka Laka, Boom!'
2646 code = textwrap.dedent(f'''
2647 import sys
2648 encodings = {encodings!r}
2649
2650 for data in (b'', b'short string'):
2651 try:
2652 str(data, encoding={invalid!r})
2653 except LookupError:
2654 pass
2655 else:
2656 sys.exit(21)
2657
2658 try:
2659 str(data, errors={invalid!r})
2660 except LookupError:
2661 pass
2662 else:
2663 sys.exit(22)
2664
2665 for encoding in encodings:
2666 try:
2667 str(data, encoding, errors={invalid!r})
2668 except LookupError:
2669 pass
2670 else:
2671 sys.exit(22)
2672
2673 for data in ('', 'short string'):
2674 try:
2675 data.encode(encoding={invalid!r})
2676 except LookupError:
2677 pass
2678 else:
2679 sys.exit(23)
2680
2681 try:
2682 data.encode(errors={invalid!r})
2683 except LookupError:
2684 pass
2685 else:
2686 sys.exit(24)
2687
2688 for encoding in encodings:
2689 try:
2690 data.encode(encoding, errors={invalid!r})
2691 except LookupError:
2692 pass
2693 else:
2694 sys.exit(24)
2695
2696 sys.exit(10)
2697 ''')
2698 proc = assert_python_failure('-X', 'dev', '-c', code)

Callers

nothing calls this directly

Calls 3

assert_python_failureFunction · 0.90
dedentMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected