update comment.
[ruby-svn.git] / test / iconv / test_basic.rb
blobea564e91f1457b047ae5ecb3da4b2b4c7fa6cc99
1 require File.join(File.dirname(__FILE__), "utils.rb")
3 class TestIconv::Basic < TestIconv
4   def test_euc2sjis
5     iconv = Iconv.open('SHIFT_JIS', 'EUC-JP')
6     str = iconv.iconv(EUCJ_STR)
7     str << iconv.iconv(nil)
8     assert_equal(SJIS_STR, str)
9     iconv.close
10   end
12   def test_close
13     iconv = Iconv.new('Shift_JIS', 'EUC-JP')
14     output = ""
15     begin
16       output += iconv.iconv(EUCJ_STR)
17       output += iconv.iconv(nil)
18     ensure
19       assert_respond_to(iconv, :close)
20       assert_equal("", iconv.close)
21       assert_equal(SJIS_STR, output)
22     end
23   end
25   def test_open_without_block
26     assert_respond_to(Iconv, :open)
27     iconv = Iconv.open('SHIFT_JIS', 'EUC-JP')
28     str = iconv.iconv(EUCJ_STR)
29     str << iconv.iconv(nil)
30     assert_equal(SJIS_STR, str )
31     iconv.close
32   end
34   def test_open_with_block
35     input = "#{EUCJ_STR}\n"*2
36     output = ""
37     Iconv.open("Shift_JIS", "EUC-JP") do |cd|
38       input.each_line do |s|
39         output << cd.iconv(s)
40       end
41       output << cd.iconv(nil)
42     end
43     assert_equal("#{SJIS_STR}\n"*2, output)
44   end
46   def test_unknown_encoding
47     assert_raise(Iconv::InvalidEncoding) { Iconv.iconv("utf-8", "X-UKNOWN", "heh") }
48   end
49 end if defined?(TestIconv)