ruby-changes:12453
From: suke <ko1@a...>
Date: Thu, 16 Jul 2009 21:06:39 +0900 (JST)
Subject: [ruby-changes:12453] Ruby:r24153 (trunk): * test/win32ole/test_win32ole.rb (test_s_codepage_changed,
suke 2009-07-16 21:06:23 +0900 (Thu, 16 Jul 2009) New Revision: 24153 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24153 Log: * test/win32ole/test_win32ole.rb (test_s_codepage_changed, test_s_locale_set, test_s_locale_change): skip test if Japanese locale is not installed. [ruby-core:23806] * test/win32ole/test_win32ole_variant.rb (test_conversion_str2cy): ditto. Modified files: trunk/ChangeLog trunk/test/win32ole/test_win32ole.rb trunk/test/win32ole/test_win32ole_variant.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 24152) +++ ChangeLog (revision 24153) @@ -1,3 +1,12 @@ +Thu Jul 16 20:58:18 2009 Masaki Suketa <masaki.suketa@n...> + + * test/win32ole/test_win32ole.rb (test_s_codepage_changed, + test_s_locale_set, test_s_locale_change): skip test if Japanese + locale is not installed. [ruby-core:23806] + + * test/win32ole/test_win32ole_variant.rb (test_conversion_str2cy): + dito. + Thu Jul 16 19:02:28 2009 NAKAMURA Usaku <usa@r...> * ext/socket/lib/socket.rb (Socket.tcp_server_sockets_port0): servers Index: test/win32ole/test_win32ole_variant.rb =================================================================== --- test/win32ole/test_win32ole_variant.rb (revision 24152) +++ test/win32ole/test_win32ole_variant.rb (revision 24153) @@ -384,9 +384,15 @@ def test_conversion_str2cy begin - WIN32OLE.locale = 0x0411 # set locale Japanese - obj = WIN32OLE_VARIANT.new("\\10,000", WIN32OLE::VARIANT::VT_CY) - assert_equal("10000", obj.value) + 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 end Index: test/win32ole/test_win32ole.rb =================================================================== --- test/win32ole/test_win32ole.rb (revision 24152) +++ test/win32ole/test_win32ole.rb (revision 24153) @@ -344,8 +344,11 @@ WIN32OLE.codepage = cp file = fso.opentextfile(fname, 2, true) - file.write [0x3042].pack("U*").force_encoding("UTF-8") - file.close + begin + file.write [0x3042].pack("U*").force_encoding("UTF-8") + ensure + file.close + end str = "" open(fname, "r:ascii-8bit") {|ifs| str = ifs.read @@ -360,8 +363,11 @@ if (WIN32OLE.codepage == 20932) WIN32OLE.codepage = cp file = fso.opentextfile(fname, 2, true) - file.write [164, 162].pack("c*").force_encoding("EUC-JP") - file.close + begin + file.write [164, 162].pack("c*").force_encoding("EUC-JP") + ensure + file.close + end open(fname, "r:ascii-8bit") {|ifs| str = ifs.read } @@ -398,7 +404,12 @@ def test_s_locale_set begin - WIN32OLE.locale = 1041 + begin + WIN32OLE.locale = 1041 + rescue WIN32OLERuntimeError + STDERR.puts("\n#{__FILE__}:#{__LINE__}:#{self.class.name}.test_s_locale_set is skipped(Japanese locale is not installed)") + return + end assert_equal(1041, WIN32OLE.locale) WIN32OLE.locale = WIN32OLE::LOCALE_SYSTEM_DEFAULT assert_raise(WIN32OLERuntimeError) { @@ -412,16 +423,30 @@ def test_s_locale_change begin - WIN32OLE.locale = 0x0411 - obj = WIN32OLE_VARIANT.new("\\100,000", WIN32OLE::VARIANT::VT_CY) - assert_equal("100000", obj.value) - assert_raise(WIN32OLERuntimeError) { - obj = WIN32OLE_VARIANT.new("$100.000", WIN32OLE::VARIANT::VT_CY) - } + begin + WIN32OLE.locale = 0x0411 + rescue WIN32OLERuntimeError + end + if WIN32OLE.locale == 0x0411 + obj = WIN32OLE_VARIANT.new("\\100,000", WIN32OLE::VARIANT::VT_CY) + assert_equal("100000", obj.value) + assert_raise(WIN32OLERuntimeError) { + obj = WIN32OLE_VARIANT.new("$100.000", WIN32OLE::VARIANT::VT_CY) + } + else + STDERR.puts("\n#{__FILE__}:#{__LINE__}:#{self.class.name}.test_s_locale_change is skipped(Japanese locale is not installed)") + end - WIN32OLE.locale = 1033 - obj = WIN32OLE_VARIANT.new("$100,000", WIN32OLE::VARIANT::VT_CY) - assert_equal("100000", obj.value) + begin + WIN32OLE.locale = 1033 + rescue WIN32OLERuntimeError + end + if WIN32OLE.locale == 1033 + obj = WIN32OLE_VARIANT.new("$100,000", WIN32OLE::VARIANT::VT_CY) + assert_equal("100000", obj.value) + else + STDERR.puts("\n#{__FILE__}:#{__LINE__}:#{self.class.name}.test_s_locale_change is skipped(US English locale is not installed)") + end ensure WIN32OLE.locale = WIN32OLE::LOCALE_SYSTEM_DEFAULT end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/