From d6ada9f14b4726b61f292a1f6d104bf297db1f74 Mon Sep 17 00:00:00 2001 From: mame Date: Wed, 4 Jun 2008 16:48:07 +0000 Subject: * test/ruby/test_transcode.rb: add tests for iso-2022-jp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ test/ruby/test_transcode.rb | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6a21d998e1..cb0d13fc88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Jun 5 01:47:18 2008 Yusuke Endoh + + * test/ruby/test_transcode.rb: add tests for iso-2022-jp. + Thu Jun 5 01:27:42 2008 Yusuke Endoh * test/ruby/test_process.rb: add tests. diff --git a/test/ruby/test_transcode.rb b/test/ruby/test_transcode.rb index e4bad8e38a..71045bb82d 100644 --- a/test/ruby/test_transcode.rb +++ b/test/ruby/test_transcode.rb @@ -253,4 +253,19 @@ class TestTranscode < Test::Unit::TestCase assert_equal(''.force_encoding('UTF-16BE'), "\x82\xAB".encode('UTF-16BE', 'UTF-8', invalid: :ignore)) end + + def test_iso_2022_jp + assert_raise(RuntimeError) { "\x1b(A".encode("utf-8", "iso-2022-jp") } + assert_raise(RuntimeError) { "\x1b$(A".encode("utf-8", "iso-2022-jp") } + assert_equal("\uff71\uff72\uff73\uff74\uff75", + "\x1b(I12345\x1b(B".force_encoding("iso-2022-jp").encode("utf-8")) + assert_equal("\u9299", "\x1b$(Dd!\x1b(B".encode("utf-8", "iso-2022-jp")) + assert_raise(RuntimeError) { "\x1b$C".encode("utf-8", "iso-2022-jp") } + assert_raise(RuntimeError) { "\x1e".encode("utf-8", "iso-2022-jp") } + assert_raise(RuntimeError) { "\x80".encode("utf-8", "iso-2022-jp") } + + assert_equal("\x1b(I12345\x1b(B".force_encoding("iso-2022-jp"), + "\uff71\uff72\uff73\uff74\uff75".encode("iso-2022-jp")) + assert_equal("\x1b$(Dd!\x1b(B".force_encoding("iso-2022-jp"), "\u9299".encode("iso-2022-jp")) + end end -- cgit v1.2.3