rubyzip 1.1.7 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +137 -54
- data/Rakefile +6 -4
- data/lib/zip/central_directory.rb +17 -13
- data/lib/zip/compressor.rb +1 -2
- data/lib/zip/constants.rb +57 -5
- data/lib/zip/crypto/decrypted_io.rb +40 -0
- data/lib/zip/crypto/null_encryption.rb +4 -6
- data/lib/zip/crypto/traditional_encryption.rb +14 -14
- data/lib/zip/decompressor.rb +22 -4
- data/lib/zip/deflater.rb +8 -6
- data/lib/zip/dos_time.rb +17 -13
- data/lib/zip/entry.rb +171 -148
- data/lib/zip/entry_set.rb +16 -14
- data/lib/zip/errors.rb +3 -0
- data/lib/zip/extra_field/generic.rb +14 -13
- data/lib/zip/extra_field/ntfs.rb +18 -16
- data/lib/zip/extra_field/old_unix.rb +12 -11
- data/lib/zip/extra_field/universal_time.rb +46 -16
- data/lib/zip/extra_field/unix.rb +10 -9
- data/lib/zip/extra_field/zip64.rb +15 -12
- data/lib/zip/extra_field/zip64_placeholder.rb +1 -2
- data/lib/zip/extra_field.rb +18 -16
- data/lib/zip/file.rb +147 -115
- data/lib/zip/filesystem.rb +289 -272
- data/lib/zip/inflater.rb +24 -36
- data/lib/zip/input_stream.rb +44 -28
- data/lib/zip/ioextras/abstract_input_stream.rb +24 -17
- data/lib/zip/ioextras/abstract_output_stream.rb +4 -6
- data/lib/zip/ioextras.rb +2 -4
- data/lib/zip/null_compressor.rb +2 -2
- data/lib/zip/null_decompressor.rb +3 -11
- data/lib/zip/null_input_stream.rb +0 -0
- data/lib/zip/output_stream.rb +25 -17
- data/lib/zip/pass_thru_compressor.rb +6 -6
- data/lib/zip/pass_thru_decompressor.rb +14 -24
- data/lib/zip/streamable_directory.rb +3 -3
- data/lib/zip/streamable_stream.rb +7 -11
- data/lib/zip/version.rb +1 -1
- data/lib/zip.rb +15 -6
- data/samples/example.rb +29 -39
- data/samples/example_filesystem.rb +16 -18
- data/samples/example_recursive.rb +31 -25
- data/samples/gtk_ruby_zip.rb +84 -0
- data/samples/qtzip.rb +23 -32
- data/samples/write_simple.rb +10 -13
- data/samples/zipfind.rb +33 -40
- metadata +50 -141
- data/samples/gtkRubyzip.rb +0 -86
- data/test/basic_zip_file_test.rb +0 -64
- data/test/central_directory_entry_test.rb +0 -73
- data/test/central_directory_test.rb +0 -104
- data/test/crypto/null_encryption_test.rb +0 -53
- data/test/crypto/traditional_encryption_test.rb +0 -80
- data/test/data/WarnInvalidDate.zip +0 -0
- data/test/data/file1.txt +0 -46
- data/test/data/file1.txt.deflatedData +0 -0
- data/test/data/file2.txt +0 -1504
- data/test/data/globTest/foo/bar/baz/foo.txt +0 -0
- data/test/data/globTest/foo.txt +0 -0
- data/test/data/globTest/food.txt +0 -0
- data/test/data/globTest.zip +0 -0
- data/test/data/mimetype +0 -1
- data/test/data/notzippedruby.rb +0 -7
- data/test/data/ntfs.zip +0 -0
- data/test/data/rubycode.zip +0 -0
- data/test/data/rubycode2.zip +0 -0
- data/test/data/testDirectory.bin +0 -0
- data/test/data/zip64-sample.zip +0 -0
- data/test/data/zipWithDirs.zip +0 -0
- data/test/data/zipWithEncryption.zip +0 -0
- data/test/deflater_test.rb +0 -67
- data/test/encryption_test.rb +0 -42
- data/test/entry_set_test.rb +0 -138
- data/test/entry_test.rb +0 -165
- data/test/errors_test.rb +0 -36
- data/test/extra_field_test.rb +0 -78
- data/test/file_extract_directory_test.rb +0 -56
- data/test/file_extract_test.rb +0 -90
- data/test/file_split_test.rb +0 -60
- data/test/file_test.rb +0 -559
- data/test/filesystem/dir_iterator_test.rb +0 -62
- data/test/filesystem/directory_test.rb +0 -131
- data/test/filesystem/file_mutating_test.rb +0 -100
- data/test/filesystem/file_nonmutating_test.rb +0 -514
- data/test/filesystem/file_stat_test.rb +0 -66
- data/test/gentestfiles.rb +0 -134
- data/test/inflater_test.rb +0 -14
- data/test/input_stream_test.rb +0 -170
- data/test/ioextras/abstract_input_stream_test.rb +0 -103
- data/test/ioextras/abstract_output_stream_test.rb +0 -106
- data/test/ioextras/fake_io_test.rb +0 -18
- data/test/local_entry_test.rb +0 -156
- data/test/output_stream_test.rb +0 -129
- data/test/pass_thru_compressor_test.rb +0 -31
- data/test/pass_thru_decompressor_test.rb +0 -15
- data/test/settings_test.rb +0 -92
- data/test/test_helper.rb +0 -228
- data/test/unicode_file_names_and_comments_test.rb +0 -52
- data/test/zip64_full_test.rb +0 -53
- data/test/zip64_support_test.rb +0 -15
data/test/zip64_full_test.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
if ENV['FULL_ZIP64_TEST']
|
2
|
-
require 'minitest/autorun'
|
3
|
-
require 'minitest/unit'
|
4
|
-
require 'fileutils'
|
5
|
-
require 'zip'
|
6
|
-
|
7
|
-
# test zip64 support for real, by actually exceeding the 32-bit size/offset limits
|
8
|
-
# this test does not, of course, run with the normal unit tests! ;)
|
9
|
-
|
10
|
-
class Zip64FullTest < MiniTest::Test
|
11
|
-
def teardown
|
12
|
-
::Zip.reset!
|
13
|
-
end
|
14
|
-
|
15
|
-
def prepareTestFile(test_filename)
|
16
|
-
::File.delete(test_filename) if ::File.exist?(test_filename)
|
17
|
-
return test_filename
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_largeZipFile
|
21
|
-
::Zip.write_zip64_support = true
|
22
|
-
first_text = 'starting out small'
|
23
|
-
last_text = 'this tests files starting after 4GB in the archive'
|
24
|
-
test_filename = prepareTestFile('huge.zip')
|
25
|
-
::Zip::OutputStream.open(test_filename) do |io|
|
26
|
-
io.put_next_entry('first_file.txt')
|
27
|
-
io.write(first_text)
|
28
|
-
|
29
|
-
# write just over 4GB (stored, so the zip file exceeds 4GB)
|
30
|
-
buf = 'blah' * 16384
|
31
|
-
io.put_next_entry('huge_file', nil, nil, ::Zip::Entry::STORED)
|
32
|
-
65537.times { io.write(buf) }
|
33
|
-
|
34
|
-
io.put_next_entry('last_file.txt')
|
35
|
-
io.write(last_text)
|
36
|
-
end
|
37
|
-
|
38
|
-
::Zip::File.open(test_filename) do |zf|
|
39
|
-
assert_equal %w(first_file.txt huge_file last_file.txt), zf.entries.map(&:name)
|
40
|
-
assert_equal first_text, zf.read('first_file.txt')
|
41
|
-
assert_equal last_text, zf.read('last_file.txt')
|
42
|
-
end
|
43
|
-
|
44
|
-
# note: if this fails, be sure you have UnZip version 6.0 or newer
|
45
|
-
# as this is the first version to support zip64 extensions
|
46
|
-
# but some OSes (*cough* OSX) still bundle a 5.xx release
|
47
|
-
assert system("unzip -t #{test_filename}"), "third-party zip validation failed"
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
data/test/zip64_support_test.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class Zip64SupportTest < MiniTest::Test
|
4
|
-
TEST_FILE = File.join(File.dirname(__FILE__), 'data', 'zip64-sample.zip')
|
5
|
-
|
6
|
-
def test_open_zip64_file
|
7
|
-
zip_file = ::Zip::File.open(TEST_FILE)
|
8
|
-
assert(!zip_file.nil?)
|
9
|
-
assert(zip_file.entries.count == 2)
|
10
|
-
test_rb = zip_file.entries.find { |x| x.name == 'test.rb' }
|
11
|
-
assert(test_rb.size == 482)
|
12
|
-
assert(test_rb.compressed_size == 229)
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|