Project

General

Profile

Bug #20929

Updated by nobu (Nobuyoshi Nakada) about 12 hours ago

test/ruby/test_time.rb have following assersion function. 
 ```ruby ``` 
   def assert_zone_encoding(time) 
     zone = time.zone 
     assert_predicate(zone, :valid_encoding?) 
     if zone.ascii_only? 
       assert_equal(Encoding::US_ASCII, zone.encoding) 
     else 
       enc = Encoding.default_internal || Encoding.find('locale') 
       assert_equal(enc, zone.encoding) 
     end 
   end 
 ``` 
 In current implementation, Time#zone are returned in US_ASCII or locale encoding, which does not seem to take into account the default_internal. 
 ``` 
 C:\>ruby -e "puts Time.now.zone" 
 東京 (標準時) 

 C:\>ruby -e "puts Time.now.zone.encoding" 
 Windows-31J 

 C:\>ruby -EWindows-31J:UTF-8 -e "puts Time.now.zone" 
 東京 (標準時) 

 C:\>ruby -EWindows-31J:UTF-8 -e "puts Time.now.zone.encoding" 
 Windows-31J 

 ``` 

Back