diff --git a/lib/tempfile.rb b/lib/tempfile.rb index d068dd603c..b36c6638b6 100644 --- a/lib/tempfile.rb +++ b/lib/tempfile.rb @@ -227,7 +227,7 @@ class Tempfile < DelegateClass(File) if !@tmpfile.closed? @tmpfile.size # File#size calls rb_io_flush_raw() else - File.size?(@tmpfile.path) + File.size(@tmpfile.path) end end alias length size diff --git a/test/test_tempfile.rb b/test/test_tempfile.rb index 7f7f75c7db..a2b272747e 100644 --- a/test/test_tempfile.rb +++ b/test/test_tempfile.rb @@ -247,6 +247,13 @@ puts Tempfile.new('foo').path assert_equal 5, t.size end + def test_size_on_empty_file + t = tempfile("foo") + t.write("") + t.close + assert_equal 0, t.size + end + def test_concurrency threads = [] tempfiles = []