summaryrefslogtreecommitdiff
path: root/test/zlib/test_zlib.rb
diff options
context:
space:
mode:
authorSorah Fukumori <sorah@cookpad.com>2021-03-17 02:16:27 +0900
committerSorah Fukumori <sorah@cookpad.com>2021-03-17 02:16:27 +0900
commitcf831f49189c4a890da6845e39199a5dfaf4fb48 (patch)
tree5c6edeb03084ebeca133032cd56590187fa0cecf /test/zlib/test_zlib.rb
parenta47697aa4459e8cc0cc4fd336ca31cfea9d734fc (diff)
zlib: fix Gzip{Writer,Reader}.new fails with a O_TMPFILE file
Diffstat (limited to 'test/zlib/test_zlib.rb')
-rw-r--r--test/zlib/test_zlib.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/zlib/test_zlib.rb b/test/zlib/test_zlib.rb
index 126fc48c90..4da3bb4fb7 100644
--- a/test/zlib/test_zlib.rb
+++ b/test/zlib/test_zlib.rb
@@ -3,6 +3,7 @@
require 'test/unit'
require 'stringio'
require 'tempfile'
+require 'tmpdir'
begin
require 'zlib'
@@ -722,6 +723,26 @@ if defined? Zlib
gz.close
}
end
+
+ if defined? File::TMPFILE
+ def test_path_tmpfile
+ sio = StringIO.new("".dup, 'w')
+ gz = Zlib::GzipWriter.new(sio)
+ gz.write "hi"
+ gz.close
+
+ File.open(Dir.mktmpdir, File::RDWR | File::TMPFILE) do |io|
+ io.write sio.string
+ io.rewind
+
+ gz = Zlib::GzipWriter.new(io)
+ assert_raise(NoMethodError) { gz.path }
+
+ gz = Zlib::GzipReader.new(io)
+ assert_raise(NoMethodError) { gz.path }
+ end
+ end
+ end
end
class TestZlibGzipReader < Test::Unit::TestCase