diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/objspace/test_objspace.rb | 2 | ||||
-rw-r--r-- | test/ruby/test_argf.rb | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/test/objspace/test_objspace.rb b/test/objspace/test_objspace.rb index 9c706f2736..0e1ad327b9 100644 --- a/test/objspace/test_objspace.rb +++ b/test/objspace/test_objspace.rb @@ -45,7 +45,7 @@ class TestObjSpace < Test::Unit::TestCase argf.inplace_mode = nil size = ObjectSpace.memsize_of(argf) argf.inplace_mode = "inplace_mode_suffix" - assert_equal(size + 20, ObjectSpace.memsize_of(argf)) + assert_equal(size, ObjectSpace.memsize_of(argf)) end def test_memsize_of_all diff --git a/test/ruby/test_argf.rb b/test/ruby/test_argf.rb index 26fe16061e..311469aad9 100644 --- a/test/ruby/test_argf.rb +++ b/test/ruby/test_argf.rb @@ -344,6 +344,29 @@ class TestArgf < Test::Unit::TestCase $stdout = stdout end + def test_inplace_suffix_encoding + base = "argf-\u{30c6 30b9 30c8}" + name = "#{@tmpdir}/#{base}" + suffix = "-bak" + File.write(name, "foo") + stdout = $stdout + argf = ARGF.class.new(name) + argf.inplace_mode = suffix.encode(Encoding::UTF_16LE) + begin + argf.each do |s| + puts "+"+s + end + ensure + $stdout.close unless $stdout == stdout + $stdout = stdout + end + assert_file.exist?(name) + assert_equal("+foo\n", File.read(name)) + assert_file.not_exist?(name+"-") + assert_file.exist?(name+suffix) + assert_equal("foo", File.read(name+suffix)) + end + def test_encoding ruby('-e', "#{<<~"{#"}\n#{<<~'};'}", @t1.path, @t2.path, @t3.path) do |f| {# |