@@ -128,7 +128,7 @@ def load_suite(suite)
128128 # Load specs from a single YAML file
129129 # Returns array of LazySpec objects
130130 def load_yaml_file ( path , suite : nil )
131- content = File . read ( path )
131+ content = File . read ( path , encoding : Encoding :: UTF_8 )
132132 specs = [ ]
133133
134134 # Fail fast if file contains dangerous !ruby/ tags (e.g. !ruby/object)
@@ -334,20 +334,20 @@ def load_directory_spec(dir, suite: nil)
334334 template_file = File . join ( dir , "template.liquid" )
335335 return unless File . exist? ( template_file )
336336
337- template = File . read ( template_file )
337+ template = File . read ( template_file , encoding : Encoding :: UTF_8 )
338338 name = File . basename ( dir )
339339
340340 # Load environment
341341 env_file = File . join ( dir , "environment.yml" )
342342 raw_environment = if File . exist? ( env_file )
343- safe_load_with_permitted_classes ( File . read ( env_file ) ) || { }
343+ safe_load_with_permitted_classes ( File . read ( env_file , encoding : Encoding :: UTF_8 ) ) || { }
344344 else
345345 { }
346346 end
347347
348348 # Load expected output
349349 expected_file = File . join ( dir , "expected.html" )
350- expected = File . exist? ( expected_file ) ? File . read ( expected_file ) : nil
350+ expected = File . exist? ( expected_file ) ? File . read ( expected_file , encoding : Encoding :: UTF_8 ) : nil
351351
352352 minimum_complexity = suite &.minimum_complexity || 1000
353353
@@ -427,7 +427,7 @@ def load_data_files(data_files, base_dir)
427427 unless File . exist? ( file_path )
428428 raise "Data file not found: #{ file_path } (referenced from spec in #{ base_dir } )"
429429 end
430- file_data = safe_load_with_permitted_classes ( File . read ( file_path ) )
430+ file_data = safe_load_with_permitted_classes ( File . read ( file_path , encoding : Encoding :: UTF_8 ) )
431431 next unless file_data . is_a? ( Hash )
432432
433433 merged = deep_merge_hashes ( merged , file_data )
0 commit comments