@@ -855,29 +855,29 @@ def setUp(self):
855
855
self .fake_open = InvocationRecorder ()
856
856
857
857
def test_empty_string (self ):
858
- self .do_test_use_builtin_open ("" , 1 )
858
+ self .do_test_use_builtin_open_text ("" , "r" )
859
859
860
860
def test_no_ext (self ):
861
- self .do_test_use_builtin_open ("abcd" , 2 )
861
+ self .do_test_use_builtin_open_text ("abcd" , "r" )
862
862
863
863
@unittest .skipUnless (gzip , "Requires gzip and zlib" )
864
864
def test_gz_ext_fake (self ):
865
865
original_open = gzip .open
866
866
gzip .open = self .fake_open
867
867
try :
868
- result = fileinput .hook_compressed ("test.gz" , "3 " )
868
+ result = fileinput .hook_compressed ("test.gz" , "r " )
869
869
finally :
870
870
gzip .open = original_open
871
871
872
872
self .assertEqual (self .fake_open .invocation_count , 1 )
873
- self .assertEqual (self .fake_open .last_invocation , (("test.gz" , "3 " ), {}))
873
+ self .assertEqual (self .fake_open .last_invocation , (("test.gz" , "r " ), {}))
874
874
875
875
@unittest .skipUnless (gzip , "Requires gzip and zlib" )
876
876
def test_gz_with_encoding_fake (self ):
877
877
original_open = gzip .open
878
878
gzip .open = lambda filename , mode : io .BytesIO (b'Ex-binary string' )
879
879
try :
880
- result = fileinput .hook_compressed ("test.gz" , "3 " , encoding = "utf-8" )
880
+ result = fileinput .hook_compressed ("test.gz" , "r " , encoding = "utf-8" )
881
881
finally :
882
882
gzip .open = original_open
883
883
self .assertEqual (list (result ), ['Ex-binary string' ])
@@ -887,23 +887,40 @@ def test_bz2_ext_fake(self):
887
887
original_open = bz2 .BZ2File
888
888
bz2 .BZ2File = self .fake_open
889
889
try :
890
- result = fileinput .hook_compressed ("test.bz2" , "4 " )
890
+ result = fileinput .hook_compressed ("test.bz2" , "r " )
891
891
finally :
892
892
bz2 .BZ2File = original_open
893
893
894
894
self .assertEqual (self .fake_open .invocation_count , 1 )
895
- self .assertEqual (self .fake_open .last_invocation , (("test.bz2" , "4 " ), {}))
895
+ self .assertEqual (self .fake_open .last_invocation , (("test.bz2" , "r " ), {}))
896
896
897
897
def test_blah_ext (self ):
898
- self .do_test_use_builtin_open ("abcd.blah" , "5 " )
898
+ self .do_test_use_builtin_open_binary ("abcd.blah" , "rb " )
899
899
900
900
def test_gz_ext_builtin (self ):
901
- self .do_test_use_builtin_open ("abcd.Gz" , "6 " )
901
+ self .do_test_use_builtin_open_binary ("abcd.Gz" , "rb " )
902
902
903
903
def test_bz2_ext_builtin (self ):
904
- self .do_test_use_builtin_open ("abcd.Bz2" , "7 " )
904
+ self .do_test_use_builtin_open_binary ("abcd.Bz2" , "rb " )
905
905
906
- def do_test_use_builtin_open (self , filename , mode ):
906
+ def test_binary_mode_encoding (self ):
907
+ self .do_test_use_builtin_open_binary ("abcd" , "rb" )
908
+
909
+ def test_text_mode_encoding (self ):
910
+ self .do_test_use_builtin_open_text ("abcd" , "r" )
911
+
912
+ def do_test_use_builtin_open_binary (self , filename , mode ):
913
+ original_open = self .replace_builtin_open (self .fake_open )
914
+ try :
915
+ result = fileinput .hook_compressed (filename , mode )
916
+ finally :
917
+ self .replace_builtin_open (original_open )
918
+
919
+ self .assertEqual (self .fake_open .invocation_count , 1 )
920
+ self .assertEqual (self .fake_open .last_invocation ,
921
+ ((filename , mode ), {'encoding' : None , 'errors' : None }))
922
+
923
+ def do_test_use_builtin_open_text (self , filename , mode ):
907
924
original_open = self .replace_builtin_open (self .fake_open )
908
925
try :
909
926
result = fileinput .hook_compressed (filename , mode )
0 commit comments