ruby-changes:3053
From: ko1@a...
Date: 24 Dec 2007 03:23:12 +0900
Subject: [ruby-changes:3053] akr - Ruby:r14545 (trunk): add tests.
akr 2007-12-24 03:22:59 +0900 (Mon, 24 Dec 2007) New Revision: 14545 Modified files: trunk/test/ruby/test_io_m17n.rb Log: add tests. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_io_m17n.rb?r1=14545&r2=14544 Index: test/ruby/test_io_m17n.rb =================================================================== --- test/ruby/test_io_m17n.rb (revision 14544) +++ test/ruby/test_io_m17n.rb (revision 14545) @@ -54,6 +54,17 @@ } end + def test_terminator_conversion2 + with_tmpdir { + generate_file('tmp', "before \xA1\xA2\xA2\xA3 after") + s = open("tmp", "r:euc-jp:utf-8") {|f| + f.gets("\xA2\xA2".force_encoding("euc-jp").encode("utf-8")) + } + assert_equal(Encoding.find("euc-jp"), s.encoding) + assert_str_equal("before \xA1\xA2\xA2\xA3 after".force_encoding("iso-8859-1"), s) + } + end + def test_open_ascii with_tmpdir { src = "abc\n" @@ -175,6 +186,37 @@ end def test_pipe + utf8 = "\u6666" + eucjp = "\xb3\xa2".force_encoding("EUC-JP") + + with_pipe {|r,w| + assert_equal(Encoding.default_external, r.external_encoding) + assert_equal(nil, r.internal_encoding) + w << utf8 + w.close + s = r.read + assert_equal(Encoding.default_external, s.encoding) + puts encdump(s) + puts encdump(utf8) + assert_str_equal(utf8, s) + } + + with_pipe("EUC-JP") {|r,w| + assert_equal(Encoding::EUC_JP, r.external_encoding) + assert_equal(nil, r.internal_encoding) + w << eucjp + w.close + assert_equal(eucjp, r.read) + } + + with_pipe("UTF-8:EUC-JP") {|r,w| + assert_equal(Encoding::UTF_8, r.external_encoding) + assert_equal(Encoding::EUC_JP, r.internal_encoding) + w << utf8 + w.close + assert_equal(eucjp, r.read) + } + ENCS.each {|enc| with_pipe(enc) {|r, w| w << "\xc2\xa1" -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml