rubyzip/test/basic_zip_file_test.rb

61 lines
1.7 KiB
Ruby
Raw Normal View History

require 'test_helper'
class BasicZipFileTest < MiniTest::Test
include AssertEntry
def setup
@zip_file = ::Zip::File.new(TestZipFile::TEST_ZIP2.zip_name)
@testEntryNameIndex = 0
end
def test_entries
assert_equal(TestZipFile::TEST_ZIP2.entry_names.sort,
2019-09-27 05:38:28 +08:00
@zip_file.entries.entries.sort.map(&:name))
end
def test_each
count = 0
visited = {}
2015-03-21 16:10:37 +08:00
@zip_file.each do |entry|
assert(TestZipFile::TEST_ZIP2.entry_names.include?(entry.name))
assert(!visited.include?(entry.name))
visited[entry.name] = nil
count = count.succ
2015-03-21 16:10:37 +08:00
end
assert_equal(TestZipFile::TEST_ZIP2.entry_names.length, count)
end
def test_foreach
count = 0
visited = {}
2015-03-21 16:10:37 +08:00
::Zip::File.foreach(TestZipFile::TEST_ZIP2.zip_name) do |entry|
assert(TestZipFile::TEST_ZIP2.entry_names.include?(entry.name))
assert(!visited.include?(entry.name))
visited[entry.name] = nil
count = count.succ
2015-03-21 16:10:37 +08:00
end
assert_equal(TestZipFile::TEST_ZIP2.entry_names.length, count)
end
def test_get_input_stream
count = 0
visited = {}
@zip_file.each do |entry|
assert_entry(entry.name, @zip_file.get_input_stream(entry), entry.name)
assert(!visited.include?(entry.name))
visited[entry.name] = nil
count = count.succ
end
assert_equal(TestZipFile::TEST_ZIP2.entry_names.length, count)
end
2015-03-25 00:02:54 +08:00
def test_get_input_stream_block
fileAndEntryName = @zip_file.entries.first.name
2015-03-21 16:10:37 +08:00
@zip_file.get_input_stream(fileAndEntryName) do |zis|
2015-03-25 00:02:54 +08:00
assert_entry_contents_for_stream(fileAndEntryName,
zis,
fileAndEntryName)
2015-03-21 16:10:37 +08:00
end
end
end