@@ -157,7 +157,10 @@ def __enter__(self):
157
157
self ._preserved = self .path .read_bytes ()
158
158
except FileNotFoundError :
159
159
self ._preserved = None
160
- self .path .write_text (self .content , encoding = "utf-16" )
160
+ if isinstance (self .content , bytes ):
161
+ self .path .write_bytes (self .content )
162
+ else :
163
+ self .path .write_text (self .content , encoding = "utf-16" )
161
164
162
165
def __exit__ (self , * exc_info ):
163
166
if self ._preserved is None :
@@ -472,6 +475,15 @@ def test_py_default(self):
472
475
self .assertEqual ("3.100" , data ["SearchInfo.tag" ])
473
476
self .assertEqual ("X.Y.exe -arg" , data ["stdout" ].strip ())
474
477
478
+ @unittest .expectedFailure # fails until GH-99620 is fixed
479
+ def test_py_default_with_valid_bom (self ):
480
+ content = TEST_PY_DEFAULTS .encode ("utf-8" )
481
+ with self .py_ini (b"\xEF \xBB \xBF " + content ):
482
+ data = self .run_py (["-arg" ])
483
+ self .assertEqual ("PythonTestSuite" , data ["SearchInfo.company" ])
484
+ self .assertEqual ("3.100" , data ["SearchInfo.tag" ])
485
+ self .assertEqual ("X.Y.exe -arg" , data ["stdout" ].strip ())
486
+
475
487
def test_py2_default (self ):
476
488
with self .py_ini (TEST_PY_DEFAULTS ):
477
489
data = self .run_py (["-2" , "-arg" ])
0 commit comments