@@ -747,19 +747,17 @@ def test_codec_stream_writer(self):
747
747
class CAPICodecErrors (unittest .TestCase ):
748
748
749
749
def test_codec_register_error (self ):
750
- try :
751
- error_handler = _testcapi .codec_lookup_error ('custom' )
752
- except LookupError :
753
- error_handler = None
750
+ # for cleaning up between tests
751
+ from _codecs import _unregister_error as _codecs_unregister_error
754
752
755
- if error_handler is None :
756
- def custom_error_handler (exc ):
757
- raise exc
753
+ self .assertRaises (LookupError , _testcapi .codec_lookup_error , 'custom' )
758
754
759
- error_handler = mock .Mock (wraps = custom_error_handler )
760
- _testcapi .codec_register_error ('custom' , error_handler )
761
- else :
762
- self .assertIsInstance (error_handler , mock .Mock )
755
+ def custom_error_handler (exc ):
756
+ raise exc
757
+
758
+ error_handler = mock .Mock (wraps = custom_error_handler )
759
+ _testcapi .codec_register_error ('custom' , error_handler )
760
+ self .addCleanup (_codecs_unregister_error , 'custom' )
763
761
764
762
self .assertRaises (UnicodeEncodeError , codecs .encode ,
765
763
'\xff ' , 'ascii' , errors = 'custom' )
@@ -769,7 +767,6 @@ def custom_error_handler(exc):
769
767
self .assertRaises (UnicodeDecodeError , codecs .decode ,
770
768
b'\xff ' , 'ascii' , errors = 'custom' )
771
769
error_handler .assert_called_once ()
772
- error_handler .reset_mock ()
773
770
774
771
def test_codec_lookup_error (self ):
775
772
codec_lookup_error = _testcapi .codec_lookup_error
0 commit comments