diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-08-15 12:38:02 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-08-15 12:38:02 +0000 |
commit | ce3ca270a5433dc1f252c49ba2905e87f2ab2a92 (patch) | |
tree | 1f8c094f1a1845bbe63f439dc269168e78ddd5ba /test | |
parent | d6af2a2b214203da5b4bb8ef592026db3c4c1a40 (diff) |
* test/ruby/test_file.rb (TestFile#test_truncate_size): test for
above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_file.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/ruby/test_file.rb b/test/ruby/test_file.rb index 528193dabb..50f101867a 100644 --- a/test/ruby/test_file.rb +++ b/test/ruby/test_file.rb @@ -1,5 +1,6 @@ require 'test/unit' require 'tempfile' +require "thread" require_relative 'envutil' require_relative 'ut_eof' @@ -118,6 +119,31 @@ class TestFile < Test::Unit::TestCase } end + def test_truncate_size + Tempfile.create("test-truncate") do |f| + q1 = Queue.new + q2 = Queue.new + + Thread.new do + data = '' + 64.times do |i| + data << i.to_s + f.rewind + f.print data + f.truncate(data.bytesize) + q1.push data.bytesize + q2.pop + end + q1.push nil + end + + while size = q1.pop + assert_equal size, File.size(f.path) + q2.push true + end + end + end + def test_read_all_extended_file [nil, {:textmode=>true}, {:binmode=>true}].each do |mode| Tempfile.create("test-extended-file", mode) {|f| |