2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
require 'stringio'
|
|
|
|
require 'zlib'
|
|
|
|
|
|
|
|
describe "Zlib::GzipWriter#mtime=" do
|
|
|
|
before :each do
|
|
|
|
@io = StringIO.new
|
|
|
|
end
|
|
|
|
|
|
|
|
it "sets mtime using Integer" do
|
|
|
|
Zlib::GzipWriter.wrap @io do |gzio|
|
|
|
|
gzio.mtime = 1
|
|
|
|
|
|
|
|
gzio.mtime.should == Time.at(1)
|
|
|
|
end
|
|
|
|
|
|
|
|
@io.string[4, 4].should == [1,0,0,0].pack('C*')
|
|
|
|
end
|
|
|
|
|
2017-06-29 10:35:37 -04:00
|
|
|
it "sets mtime using Time" do
|
|
|
|
Zlib::GzipWriter.wrap @io do |gzio|
|
|
|
|
gzio.mtime = Time.at 1
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2017-06-29 10:35:37 -04:00
|
|
|
gzio.mtime.should == Time.at(1)
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2017-06-29 10:35:37 -04:00
|
|
|
@io.string[4, 4].should == [1,0,0,0].pack('C*')
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it "raises if the header was written" do
|
|
|
|
Zlib::GzipWriter.wrap @io do |gzio|
|
|
|
|
gzio.write ''
|
|
|
|
|
|
|
|
lambda { gzio.mtime = nil }.should \
|
|
|
|
raise_error(Zlib::GzipFile::Error, 'header is already written')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|