Removed obsolete bin scripts.
[rbx.git] / test / rubygems / test_gem_package_tar_reader.rb
blob69620888782f2527aa818ef290b431d4b1ba6bd9
1 #--
2 # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
3 # All rights reserved.
4 # See LICENSE.txt for permissions.
5 #++
7 require File.join(File.expand_path(File.dirname(__FILE__)),
8                   'gem_package_tar_test_case')
9 require 'rubygems/package'
11 class TestGemPackageTarReader < TarTestCase
13   def test_each_entry
14     tar = tar_dir_header "foo", "bar", 0
15     tar << tar_file_header("bar", "baz", 0, 0)
17     io = TempIO.new tar
19     entries = 0
21     Gem::Package::TarReader.new io do |tar_reader|
22       tar_reader.each_entry do |entry|
23         assert_kind_of Gem::Package::TarReader::Entry, entry
25         entries += 1
26       end
27     end
29     assert_equal 2, entries
30   end
32   def test_rewind
33     content = ('a'..'z').to_a.join(" ")
35     str = tar_file_header("lib/foo", "", 010644, content.size) + content +
36             "\0" * (512 - content.size)
37     str << "\0" * 1024
39     Gem::Package::TarReader.new(TempIO.new(str)) do |tar_reader|
40       3.times do
41         tar_reader.rewind
42         i = 0
43         tar_reader.each_entry do |entry|
44           assert_equal(content, entry.read)
45           i += 1
46         end
47         assert_equal(1, i)
48       end
49     end
50   end
52 end