summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tempfile.rb2
-rw-r--r--test/test_tempfile.rb7
2 files changed, 8 insertions, 1 deletions
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 = []