summaryrefslogtreecommitdiff
path: root/spec/ruby/library/zlib/gzipfile/close_spec.rb
blob: 9486d6b9ec9fc12a3cdaeaa77c8aa08b20273b85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require File.expand_path('../../../../spec_helper', __FILE__)
require 'stringio'
require 'zlib'

describe "Zlib::GzipFile#close" do
  it "finishes the stream and closes the io" do
    io = StringIO.new "".b
    Zlib::GzipWriter.wrap io do |gzio|
      gzio.close

      gzio.closed?.should == true

      lambda { gzio.orig_name }.should \
        raise_error(Zlib::GzipFile::Error, 'closed gzip stream')
      lambda { gzio.comment }.should \
        raise_error(Zlib::GzipFile::Error, 'closed gzip stream')
    end

    io.string[10..-1].should == ([3] + Array.new(9,0)).pack('C*')
  end
end