From 0dc342de848a642ecce8db697b8fecd83a63e117 Mon Sep 17 00:00:00 2001 From: yugui Date: Mon, 25 Aug 2008 15:02:05 +0000 Subject: added tag v1_9_0_4 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- trunk/test/iconv/test_partial.rb | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 trunk/test/iconv/test_partial.rb (limited to 'trunk/test/iconv/test_partial.rb') diff --git a/trunk/test/iconv/test_partial.rb b/trunk/test/iconv/test_partial.rb new file mode 100644 index 0000000000..aa4d0ba250 --- /dev/null +++ b/trunk/test/iconv/test_partial.rb @@ -0,0 +1,41 @@ +require File.join(File.dirname(__FILE__), "utils.rb") + +class TestIconv::Partial < TestIconv + def test_partial_ascii + c = Iconv.open(ASCII, ASCII) + ref = '[ruby-core:17092]' + rescue + return + else + assert_equal("abc", c.iconv("abc")) + assert_equal("c", c.iconv("abc", 2), "#{ref}: with start") + assert_equal("c", c.iconv("abc", 2, 1), "#{ref}: with start, length") + assert_equal("c", c.iconv("abc", 2, 5), "#{ref}: with start, longer length") + assert_equal("bc", c.iconv("abc", -2), "#{ref}: with nagative start") + assert_equal("b", c.iconv("abc", -2, 1), "#{ref}: with nagative start, length") + assert_equal("bc", c.iconv("abc", -2, 5), "#{ref}: with nagative start, longer length") + assert_equal("", c.iconv("abc", 5), "#{ref}: with OOB") + assert_equal("", c.iconv("abc", 5, 2), "#{ref}: with OOB, length") + ensure + c.close if c + end + + def test_partial_euc2sjis + c = Iconv.open('SHIFT_JIS', 'EUC-JP') + rescue + return + else + assert_equal(SJIS_STR[0, 2], c.iconv(EUCJ_STR, 0, 2)) + assert_equal(SJIS_STR, c.iconv(EUCJ_STR, 0, 20)) + assert_equal(SJIS_STR[2..-1], c.iconv(EUCJ_STR, 2)) + assert_equal(SJIS_STR[2, 2], c.iconv(EUCJ_STR, 2, 2)) + assert_equal(SJIS_STR[2..-1], c.iconv(EUCJ_STR, 2, 20)) + assert_equal(SJIS_STR[-4..-1], c.iconv(EUCJ_STR, -4)) + assert_equal(SJIS_STR[-4, 2], c.iconv(EUCJ_STR, -4, 2)) + assert_equal(SJIS_STR[-4..-1], c.iconv(EUCJ_STR, -4, 20)) + assert_equal("", c.iconv(EUCJ_STR, 20)) + assert_equal("", c.iconv(EUCJ_STR, 20, 2)) + ensure + c.close + end +end if defined?(TestIconv) -- cgit v1.2.3