1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
begin
require 'locale/driver/win32'
require 'test/unit'
class TestDiverWin32 < Test::Unit::TestCase
def setup
ENV["LC_ALL"] = nil
ENV["LC_CTYPE"] = nil
ENV["LANG"] = nil
ENV["LANGUAGE"] = nil
Locale::Driver::Win32.set_thread_locale_id(nil)
end
def test_charset
Locale::Driver::Win32.set_thread_locale_id(0x0404)
assert_equal "CP950", Locale::Driver::Win32.charset
Locale::Driver::Win32.set_thread_locale_id(0x0411)
assert_equal "CP932", Locale::Driver::Win32.charset
Locale::Driver::Win32.set_thread_locale_id(0x201A)
assert_equal "CP1251", Locale::Driver::Win32.charset
Locale::Driver::Win32.set_thread_locale_id(0x0465)
assert_equal "UNICODE", Locale::Driver::Win32.charset
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
assert_equal "CP1252", Locale::Driver::Win32.charset
end
def test_locales
Locale::Driver::Win32.set_thread_locale_id(0x0404)
assert_equal Locale::Tag::Common.parse("zh-TW"), Locale::Driver::Win32.locales[0]
Locale::Driver::Win32.set_thread_locale_id(0x0411)
assert_equal Locale::Tag::Common.parse("ja-JP"), Locale::Driver::Win32.locales[0]
Locale::Driver::Win32.set_thread_locale_id(0x201A)
assert_equal Locale::Tag::Common.parse("bs-Cyrl-BA"), Locale::Driver::Win32.locales[0]
Locale::Driver::Win32.set_thread_locale_id(0x0465)
assert_equal Locale::Tag::Common.parse("div-MV"), Locale::Driver::Win32.locales[0]
Locale::Driver::Win32.set_thread_locale_id(0x2222) # invalid
assert_equal nil, Locale::Driver::Win32.locales
end
def test_locales_with_env
ENV["LC_ALL"] = "ja_JP.UTF-8"
assert_equal Locale::Tag::Posix.parse("ja_JP.UTF-8"), Locale::Driver::Win32.locales[0]
assert_equal "UTF-8", Locale::Driver::Win32.charset
ENV["LC_ALL"] = "ja_JP"
assert_equal Locale::Tag::Posix.parse("ja_JP"), Locale::Driver::Win32.locales[0]
assert_equal "CP932", Locale::Driver::Win32.charset
ENV["LC_ALL"] = "C"
assert_equal Locale::Tag::Posix.parse("C"), Locale::Driver::Win32.locales[0]
assert_equal "CP1252", Locale::Driver::Win32.charset
end
end
rescue LoadError, DL::DLError, NameError
puts "win32 test was skipped."
end
|