diff --git a/ChangeLog b/ChangeLog index 574f739..d1e96bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Aug 6 19:15:11 2012 Masaki Suketa + + * test/win32ole/test_win32ole_variant.rb: setting WIN32OLE.locale + to pass some assertion. Thanks to Hiroshi Shirosaki. + [ruby-core:46873][Bug #6814] + Fri Oct 26 17:22:18 2012 NAKAMURA Usaku * file.c (append_fspath): need to set the encoding to result always. diff --git a/test/win32ole/test_win32ole_variant.rb b/test/win32ole/test_win32ole_variant.rb index 2b34d27..832d943 100644 --- a/test/win32ole/test_win32ole_variant.rb +++ b/test/win32ole/test_win32ole_variant.rb @@ -12,6 +12,14 @@ end if defined?(WIN32OLE_VARIANT) class TestWIN32OLE_VARIANT < Test::Unit::TestCase + def setup + @orglocale = WIN32OLE.locale + WIN32OLE.locale = 0x0409 # set locale US-Eng + end + + def teardown + WIN32OLE.locale = @orglocale + end def test_s_new obj = WIN32OLE_VARIANT.new('foo') @@ -395,17 +403,13 @@ if defined?(WIN32OLE_VARIANT) def test_conversion_str2cy begin - begin - WIN32OLE.locale = 0x0411 # set locale Japanese - rescue WIN32OLERuntimeError - STDERR.puts("\n#{__FILE__}:#{__LINE__}:#{self.class.name}.test_conversion_str2cy is skipped(Japanese locale is not installed)") - end - if WIN32OLE.locale == 0x0411 - obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY) - assert_equal("10000", obj.value) - end - ensure - WIN32OLE.locale = WIN32OLE::LOCALE_SYSTEM_DEFAULT + WIN32OLE.locale = 0x0411 # set locale Japanese + rescue WIN32OLERuntimeError + skip("Japanese locale is not installed") + end + if WIN32OLE.locale == 0x0411 + obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY) + assert_equal("10000", obj.value) end end