ruby/spec/rubyspec/library/zlib/inflate/finish_spec.rb
eregon 95e8c48dd3 Add in-tree mspec and ruby/spec
* For easier modifications of ruby/spec by MRI developers.
* .gitignore: track changes under spec.
* spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec.
  These files can therefore be updated like any other file in MRI.
  Instructions are provided in spec/README.
  [Feature #13156] [ruby-core:79246]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 12:04:49 +00:00

28 lines
587 B
Ruby

require 'zlib'
describe "Zlib::Inflate#finish" do
before do
@zeros = Zlib::Deflate.deflate("0" * 100_000)
@inflator = Zlib::Inflate.new
@chunks = []
@inflator.inflate(@zeros) do |chunk|
@chunks << chunk
break
end
@inflator.finish do |chunk|
@chunks << chunk
end
end
it "inflates chunked data" do
@chunks.map { |chunk| chunk.length }.should == [16384, 16384, 16384, 16384, 16384, 16384, 1696]
end
it "each chunk should have the same prefix" do
@chunks.all? { |chunk| chunk =~ /\A0+\z/ }.should be_true
end
end