* io.c (io_getc): set read_encoding to resulted one character

string. [ruby-dev:41023]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2010-04-20 18:19:01 +00:00
parent 52998fa591
commit 8a269f85a0
3 changed files with 43 additions and 12 deletions

View file

@ -385,6 +385,21 @@ EOT
}
end
def test_getc_newlineconv
with_tmpdir {
src = "\u3042"
generate_file('tmp', src)
defext = Encoding.default_external
Encoding.default_external = Encoding::UTF_8
open("tmp", "rt") {|f|
s = f.getc
assert_equal(true, s.valid_encoding?)
assert_equal("\u3042", s)
}
Encoding.default_external = defext
}
end
def test_ungetc_stateful_conversion
with_tmpdir {
src = "before \e$B\x23\x30\x23\x31\e(B after".force_encoding("iso-2022-jp")