diff options
| author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-12 09:06:45 +0000 |
|---|---|---|
| committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-12 09:06:45 +0000 |
| commit | 99639ba526579c5cb369a3667a20d46150719307 (patch) | |
| tree | 3befe582dc507ba845e7cb95cd4a28fa16d5a247 /test | |
| parent | 97f2fa37b6a0343e050ac3628a8227d7f82bc2c8 (diff) | |
| download | ruby-99639ba526579c5cb369a3667a20d46150719307.tar.gz ruby-99639ba526579c5cb369a3667a20d46150719307.tar.xz ruby-99639ba526579c5cb369a3667a20d46150719307.zip | |
* ext/win32ole/win32ole.c (set_ole_codepage, ole_cp2encoding,
ole_wc2mb, ole_vstr2wc, ole_mb2wc): support CP51932 (only mswin32).
* test/win32ole/test_win32ole.rb: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
| -rw-r--r-- | test/win32ole/test_win32ole.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/win32ole/test_win32ole.rb b/test/win32ole/test_win32ole.rb index 914610375..44d9a3507 100644 --- a/test/win32ole/test_win32ole.rb +++ b/test/win32ole/test_win32ole.rb @@ -361,6 +361,30 @@ if defined?(WIN32OLE) end end + def test_cp51932 + cp = WIN32OLE.codepage + begin + obj = WIN32OLE_VARIANT.new([0x3042].pack("U*").force_encoding("UTF-8")) + # mswin32 ruby only supports CP51932 + if /mswin/ =~ RUBY_PLATFORM + begin + WIN32OLE.codepage = 51932 + rescue + end + if WIN32OLE.codepage == 51932 + assert_equal("\xA4\xA2".force_encoding("CP51932"), obj.value) + end + else + # cygwin, mingw32 ruby does not support CP51932 + assert_raise(WIN32OLERuntimeError) { + WIN32OLE.codepage = 51932 + } + end + ensure + WIN32OLE.codepage = cp + end + end + def test_s_locale assert_equal(WIN32OLE::LOCALE_SYSTEM_DEFAULT, WIN32OLE.locale) end |
