Merge pull request #332 from aeroastro/feature/rubocop-update

Update RuboCop settings and apply automatic corrections
This commit is contained in:
Alexander Simonov 2017-08-02 17:01:35 +03:00 committed by GitHub
commit 41fcf0a26e
39 changed files with 167 additions and 171 deletions

View File

@ -1,2 +1,6 @@
inherit_from: inherit_from:
- .rubocop_rubyzip.yml - .rubocop_rubyzip.yml
AllCops:
TargetRubyVersion: 1.9
Style/MutableConstant:
Enabled: false # Because some existent code relies on mutable constant

View File

@ -96,7 +96,7 @@ module Zip
@size_in_bytes = Entry.read_zip_64_long(buf) @size_in_bytes = Entry.read_zip_64_long(buf)
@cdir_offset = Entry.read_zip_64_long(buf) @cdir_offset = Entry.read_zip_64_long(buf)
@zip_64_extensible = buf.slice!(0, buf.bytesize) @zip_64_extensible = buf.slice!(0, buf.bytesize)
raise Error, 'Zip consistency problem while reading eocd structure' unless buf.size == 0 raise Error, 'Zip consistency problem while reading eocd structure' unless buf.empty?
end end
def read_e_o_c_d(buf) #:nodoc: def read_e_o_c_d(buf) #:nodoc:
@ -113,7 +113,7 @@ module Zip
else else
buf.read(comment_length) buf.read(comment_length)
end end
raise Error, 'Zip consistency problem while reading eocd structure' unless buf.size == 0 raise Error, 'Zip consistency problem while reading eocd structure' unless buf.empty?
end end
def read_central_directory_entries(io) #:nodoc: def read_central_directory_entries(io) #:nodoc:
@ -130,7 +130,7 @@ module Zip
def read_from_stream(io) #:nodoc: def read_from_stream(io) #:nodoc:
buf = start_buf(io) buf = start_buf(io)
if self.zip64_file?(buf) if zip64_file?(buf)
read_64_e_o_c_d(buf) read_64_e_o_c_d(buf)
else else
read_e_o_c_d(buf) read_e_o_c_d(buf)

View File

@ -1,7 +1,6 @@
module Zip module Zip
class Compressor #:nodoc:all class Compressor #:nodoc:all
def finish def finish; end
end
end end
end end

View File

@ -11,9 +11,9 @@ module Zip
VERSION_NEEDED_TO_EXTRACT = 20 VERSION_NEEDED_TO_EXTRACT = 20
VERSION_NEEDED_TO_EXTRACT_ZIP64 = 45 VERSION_NEEDED_TO_EXTRACT_ZIP64 = 45
FILE_TYPE_FILE = 010 FILE_TYPE_FILE = 0o10
FILE_TYPE_DIR = 004 FILE_TYPE_DIR = 0o04
FILE_TYPE_SYMLINK = 012 FILE_TYPE_SYMLINK = 0o12
FSTYPE_FAT = 0 FSTYPE_FAT = 0
FSTYPE_AMIGA = 1 FSTYPE_AMIGA = 1

View File

@ -24,8 +24,7 @@ module Zip
'' ''
end end
def reset! def reset!; end
end
end end
class NullDecrypter < Decrypter class NullDecrypter < Decrypter
@ -35,8 +34,7 @@ module Zip
data data
end end
def reset!(_header) def reset!(_header); end
end
end end
end end

View File

@ -1,5 +1,5 @@
module Zip module Zip
class Decompressor #:nodoc:all class Decompressor #:nodoc:all
CHUNK_SIZE = 32_768 CHUNK_SIZE = 32_768
def initialize(input_stream) def initialize(input_stream)
super() super()

View File

@ -19,7 +19,7 @@ module Zip
end end
def to_binary_dos_date def to_binary_dos_date
(day) + day +
(month << 5) + (month << 5) +
((year - 1980) << 9) ((year - 1980) << 9)
end end

View File

@ -99,7 +99,7 @@ module Zip
end end
# Dynamic checkers # Dynamic checkers
%w(directory file symlink).each do |k| %w[directory file symlink].each do |k|
define_method "#{k}?" do define_method "#{k}?" do
file_type_is?(k.to_sym) file_type_is?(k.to_sym)
end end
@ -239,7 +239,7 @@ module Zip
@name = io.read(@name_length) @name = io.read(@name_length)
extra = io.read(@extra_length) extra = io.read(@extra_length)
@name.gsub!('\\', '/') @name.tr!('\\', '/')
if extra && extra.bytesize != @extra_length if extra && extra.bytesize != @extra_length
raise ::Zip::Error, 'Truncated local zip entry header' raise ::Zip::Error, 'Truncated local zip entry header'
@ -263,8 +263,8 @@ module Zip
@time.to_binary_dos_time, # @last_mod_time , @time.to_binary_dos_time, # @last_mod_time ,
@time.to_binary_dos_date, # @last_mod_date , @time.to_binary_dos_date, # @last_mod_date ,
@crc, @crc,
(zip64 && zip64.compressed_size) ? 0xFFFFFFFF : @compressed_size, zip64 && zip64.compressed_size ? 0xFFFFFFFF : @compressed_size,
(zip64 && zip64.original_size) ? 0xFFFFFFFF : @size, zip64 && zip64.original_size ? 0xFFFFFFFF : @size,
name_size, name_size,
@extra ? @extra.local_size : 0].pack('VvvvvvVVVvv') @extra ? @extra.local_size : 0].pack('VvvvvvVVVvv')
end end
@ -308,7 +308,7 @@ module Zip
def set_ftype_from_c_dir_entry def set_ftype_from_c_dir_entry
@ftype = case @fstype @ftype = case @fstype
when ::Zip::FSTYPE_UNIX when ::Zip::FSTYPE_UNIX
@unix_perms = (@external_file_attributes >> 16) & 07777 @unix_perms = (@external_file_attributes >> 16) & 0o7777
case (@external_file_attributes >> 28) case (@external_file_attributes >> 28)
when ::Zip::FILE_TYPE_DIR when ::Zip::FILE_TYPE_DIR
:directory :directory
@ -384,14 +384,14 @@ module Zip
stat = file_stat(path) stat = file_stat(path)
@unix_uid = stat.uid @unix_uid = stat.uid
@unix_gid = stat.gid @unix_gid = stat.gid
@unix_perms = stat.mode & 07777 @unix_perms = stat.mode & 0o7777
end end
def set_unix_permissions_on_path(dest_path) def set_unix_permissions_on_path(dest_path)
# BUG: does not update timestamps into account # BUG: does not update timestamps into account
# ignore setuid/setgid bits by default. honor if @restore_ownership # ignore setuid/setgid bits by default. honor if @restore_ownership
unix_perms_mask = 01777 unix_perms_mask = 0o1777
unix_perms_mask = 07777 if @restore_ownership unix_perms_mask = 0o7777 if @restore_ownership
::FileUtils.chmod(@unix_perms & unix_perms_mask, dest_path) if @restore_permissions && @unix_perms ::FileUtils.chmod(@unix_perms & unix_perms_mask, dest_path) if @restore_permissions && @unix_perms
::FileUtils.chown(@unix_uid, @unix_gid, dest_path) if @restore_ownership && @unix_uid && @unix_gid && ::Process.egid == 0 ::FileUtils.chown(@unix_uid, @unix_gid, dest_path) if @restore_ownership && @unix_uid && @unix_gid && ::Process.egid == 0
# File::utimes() # File::utimes()
@ -418,15 +418,15 @@ module Zip
@time.to_binary_dos_time, # @last_mod_time , @time.to_binary_dos_time, # @last_mod_time ,
@time.to_binary_dos_date, # @last_mod_date , @time.to_binary_dos_date, # @last_mod_date ,
@crc, @crc,
(zip64 && zip64.compressed_size) ? 0xFFFFFFFF : @compressed_size, zip64 && zip64.compressed_size ? 0xFFFFFFFF : @compressed_size,
(zip64 && zip64.original_size) ? 0xFFFFFFFF : @size, zip64 && zip64.original_size ? 0xFFFFFFFF : @size,
name_size, name_size,
@extra ? @extra.c_dir_size : 0, @extra ? @extra.c_dir_size : 0,
comment_size, comment_size,
(zip64 && zip64.disk_start_number) ? 0xFFFF : 0, # disk number start zip64 && zip64.disk_start_number ? 0xFFFF : 0, # disk number start
@internal_file_attributes, # file type (binary=0, text=1) @internal_file_attributes, # file type (binary=0, text=1)
@external_file_attributes, # native filesystem attributes @external_file_attributes, # native filesystem attributes
(zip64 && zip64.relative_header_offset) ? 0xFFFFFFFF : @local_header_offset, zip64 && zip64.relative_header_offset ? 0xFFFFFFFF : @local_header_offset,
@name, @name,
@extra, @extra,
@comment @comment
@ -439,18 +439,18 @@ module Zip
when ::Zip::FSTYPE_UNIX when ::Zip::FSTYPE_UNIX
ft = case @ftype ft = case @ftype
when :file when :file
@unix_perms ||= 0644 @unix_perms ||= 0o644
::Zip::FILE_TYPE_FILE ::Zip::FILE_TYPE_FILE
when :directory when :directory
@unix_perms ||= 0755 @unix_perms ||= 0o755
::Zip::FILE_TYPE_DIR ::Zip::FILE_TYPE_DIR
when :symlink when :symlink
@unix_perms ||= 0755 @unix_perms ||= 0o755
::Zip::FILE_TYPE_SYMLINK ::Zip::FILE_TYPE_SYMLINK
end end
unless ft.nil? unless ft.nil?
@external_file_attributes = (ft << 12 | (@unix_perms & 07777)) << 16 @external_file_attributes = (ft << 12 | (@unix_perms & 0o7777)) << 16
end end
end end
@ -464,7 +464,7 @@ module Zip
def ==(other) def ==(other)
return false unless other.class == self.class return false unless other.class == self.class
# Compares contents of local entry and exposed fields # Compares contents of local entry and exposed fields
keys_equal = %w(compression_method crc compressed_size size name extra filepath).all? do |k| keys_equal = %w[compression_method crc compressed_size size name extra filepath].all? do |k|
other.__send__(k.to_sym) == __send__(k.to_sym) other.__send__(k.to_sym) == __send__(k.to_sym)
end end
keys_equal && time.dos_equals(other.time) keys_equal && time.dos_equals(other.time)

View File

@ -5,7 +5,7 @@ module Zip
def initialize(an_enumerable = []) def initialize(an_enumerable = [])
super() super()
@entry_set = {} @entry_set = {}
an_enumerable.each { |o| push(o) } an_enumerable.each { |o| push(o) }
end end
@ -33,9 +33,9 @@ module Zip
entry if @entry_set.delete(to_key(entry)) entry if @entry_set.delete(to_key(entry))
end end
def each(&block) def each
@entry_set = sorted_entries.dup.each do |_, value| @entry_set = sorted_entries.dup.each do |_, value|
block.call(value) yield(value)
end end
end end

View File

@ -8,7 +8,7 @@ module Zip
def extra_field_type_exist(binstr, id, len, i) def extra_field_type_exist(binstr, id, len, i)
field_name = ID_MAP[id].name field_name = ID_MAP[id].name
if self.member?(field_name) if member?(field_name)
self[field_name].merge(binstr[i, len + 4]) self[field_name].merge(binstr[i, len + 4])
else else
field_obj = ID_MAP[id].new(binstr[i, len + 4]) field_obj = ID_MAP[id].new(binstr[i, len + 4])

View File

@ -1,7 +1,7 @@
module Zip module Zip
class ExtraField::Generic class ExtraField::Generic
def self.register_map def self.register_map
if self.const_defined?(:HEADER_ID) if const_defined?(:HEADER_ID)
::Zip::ExtraField::ID_MAP[const_get(:HEADER_ID)] = self ::Zip::ExtraField::ID_MAP[const_get(:HEADER_ID)] = self
end end
end end

View File

@ -6,8 +6,7 @@ module Zip
HEADER_ID = ['9999'].pack('H*') # this ID is used by other libraries such as .NET's Ionic.zip HEADER_ID = ['9999'].pack('H*') # this ID is used by other libraries such as .NET's Ionic.zip
register_map register_map
def initialize(_binstr = nil) def initialize(_binstr = nil); end
end
def pack_for_local def pack_for_local
"\x00" * 16 "\x00" * 16

View File

@ -69,16 +69,15 @@ module Zip
@name = file_name @name = file_name
@comment = '' @comment = ''
@create = create ? true : false # allow any truthy value to mean true @create = create ? true : false # allow any truthy value to mean true
case if !buffer && ::File.size?(file_name)
when !buffer && ::File.size?(file_name)
@create = false @create = false
@file_permissions = ::File.stat(file_name).mode @file_permissions = ::File.stat(file_name).mode
::File.open(name, 'rb') do |f| ::File.open(name, 'rb') do |f|
read_from_stream(f) read_from_stream(f)
end end
when @create elsif @create
@entry_set = EntrySet.new @entry_set = EntrySet.new
when ::File.zero?(file_name) elsif ::File.zero?(file_name)
raise Error, "File #{file_name} has zero size. Did you mean to pass the create flag?" raise Error, "File #{file_name} has zero size. Did you mean to pass the create flag?"
else else
raise Error, "File #{file_name} not found" raise Error, "File #{file_name} not found"
@ -151,10 +150,9 @@ module Zip
end end
def get_segment_size_for_split(segment_size) def get_segment_size_for_split(segment_size)
case if MIN_SEGMENT_SIZE > segment_size
when MIN_SEGMENT_SIZE > segment_size
MIN_SEGMENT_SIZE MIN_SEGMENT_SIZE
when MAX_SEGMENT_SIZE < segment_size elsif MAX_SEGMENT_SIZE < segment_size
MAX_SEGMENT_SIZE MAX_SEGMENT_SIZE
else else
segment_size segment_size
@ -162,8 +160,10 @@ module Zip
end end
def get_partial_zip_file_name(zip_file_name, partial_zip_file_name) def get_partial_zip_file_name(zip_file_name, partial_zip_file_name)
partial_zip_file_name = zip_file_name.sub(/#{::File.basename(zip_file_name)}\z/, unless partial_zip_file_name.nil?
partial_zip_file_name + ::File.extname(zip_file_name)) unless partial_zip_file_name.nil? partial_zip_file_name = zip_file_name.sub(/#{::File.basename(zip_file_name)}\z/,
partial_zip_file_name + ::File.extname(zip_file_name))
end
partial_zip_file_name ||= zip_file_name partial_zip_file_name ||= zip_file_name
partial_zip_file_name partial_zip_file_name
end end
@ -237,7 +237,7 @@ module Zip
# specified. If a block is passed the stream object is passed to the block and # specified. If a block is passed the stream object is passed to the block and
# the stream is automatically closed afterwards just as with ruby's builtin # the stream is automatically closed afterwards just as with ruby's builtin
# File.open method. # File.open method.
def get_output_stream(entry, permission_int = nil, comment = nil, extra = nil, compressed_size = nil, crc = nil, compression_method = nil, size = nil, time = nil, &aProc) def get_output_stream(entry, permission_int = nil, comment = nil, extra = nil, compressed_size = nil, crc = nil, compression_method = nil, size = nil, time = nil, &aProc)
new_entry = new_entry =
if entry.kind_of?(Entry) if entry.kind_of?(Entry)
entry entry
@ -366,7 +366,7 @@ module Zip
end end
# Creates a directory # Creates a directory
def mkdir(entryName, permissionInt = 0755) def mkdir(entryName, permissionInt = 0o755)
raise Errno::EEXIST, "File exists - #{entryName}" if find_entry(entryName) raise Errno::EEXIST, "File exists - #{entryName}" if find_entry(entryName)
entryName = entryName.dup.to_s entryName = entryName.dup.to_s
entryName << '/' unless entryName.end_with?('/') entryName << '/' unless entryName.end_with?('/')

View File

@ -142,9 +142,9 @@ module Zip
def ftype def ftype
if file? if file?
return 'file' 'file'
elsif directory? elsif directory?
return 'directory' 'directory'
else else
raise StandardError, 'Unknown file type' raise StandardError, 'Unknown file type'
end end
@ -198,30 +198,30 @@ module Zip
alias grpowned? exists? alias grpowned? exists?
def readable?(fileName) def readable?(fileName)
unix_mode_cmp(fileName, 0444) unix_mode_cmp(fileName, 0o444)
end end
alias readable_real? readable? alias readable_real? readable?
def writable?(fileName) def writable?(fileName)
unix_mode_cmp(fileName, 0222) unix_mode_cmp(fileName, 0o222)
end end
alias writable_real? writable? alias writable_real? writable?
def executable?(fileName) def executable?(fileName)
unix_mode_cmp(fileName, 0111) unix_mode_cmp(fileName, 0o111)
end end
alias executable_real? executable? alias executable_real? executable?
def setuid?(fileName) def setuid?(fileName)
unix_mode_cmp(fileName, 04000) unix_mode_cmp(fileName, 0o4000)
end end
def setgid?(fileName) def setgid?(fileName)
unix_mode_cmp(fileName, 02000) unix_mode_cmp(fileName, 0o2000)
end end
def sticky?(fileName) def sticky?(fileName)
unix_mode_cmp(fileName, 01000) unix_mode_cmp(fileName, 0o1000)
end end
def umask(*args) def umask(*args)
@ -237,8 +237,8 @@ module Zip
expand_path(fileName) == '/' || (!entry.nil? && entry.directory?) expand_path(fileName) == '/' || (!entry.nil? && entry.directory?)
end end
def open(fileName, openMode = 'r', permissionInt = 0644, &block) def open(fileName, openMode = 'r', permissionInt = 0o644, &block)
openMode.gsub!('b', '') # ignore b option openMode.delete!('b') # ignore b option
case openMode case openMode
when 'r' when 'r'
@mappedZip.get_input_stream(fileName, &block) @mappedZip.get_input_stream(fileName, &block)
@ -260,7 +260,7 @@ module Zip
# Returns nil for not found and nil for directories # Returns nil for not found and nil for directories
def size?(fileName) def size?(fileName)
entry = @mappedZip.find_entry(fileName) entry = @mappedZip.find_entry(fileName)
(entry.nil? || entry.directory?) ? nil : entry.size entry.nil? || entry.directory? ? nil : entry.size
end end
def chown(ownerInt, groupInt, *filenames) def chown(ownerInt, groupInt, *filenames)
@ -498,7 +498,7 @@ module Zip
alias rmdir delete alias rmdir delete
alias unlink delete alias unlink delete
def mkdir(entryName, permissionInt = 0755) def mkdir(entryName, permissionInt = 0o755)
@mappedZip.mkdir(entryName, permissionInt) @mappedZip.mkdir(entryName, permissionInt)
end end
@ -586,7 +586,7 @@ module Zip
&continueOnExistsProc) &continueOnExistsProc)
end end
def mkdir(fileName, permissionInt = 0755) def mkdir(fileName, permissionInt = 0o755)
@zipFile.mkdir(expand_to_entry(fileName), permissionInt) @zipFile.mkdir(expand_to_entry(fileName), permissionInt)
end end

View File

@ -5,7 +5,7 @@ module Zip
@zlib_inflater = ::Zlib::Inflate.new(-Zlib::MAX_WBITS) @zlib_inflater = ::Zlib::Inflate.new(-Zlib::MAX_WBITS)
@output_buffer = '' @output_buffer = ''
@has_returned_empty_string = false @has_returned_empty_string = false
@decrypter = decrypter @decrypter = decrypter
end end
def sysread(number_of_bytes = nil, buf = '') def sysread(number_of_bytes = nil, buf = '')

View File

@ -129,23 +129,22 @@ module Zip
end end
if @current_entry && @current_entry.gp_flags & 8 == 8 && @current_entry.crc == 0 \ if @current_entry && @current_entry.gp_flags & 8 == 8 && @current_entry.crc == 0 \
&& @current_entry.compressed_size == 0 \ && @current_entry.compressed_size == 0 \
&& @current_entry.size == 0 && !@internal && @current_entry.empty? && !@internal
raise GPFBit3Error, raise GPFBit3Error,
'General purpose flag Bit 3 is set so not possible to get proper info from local header.' \ 'General purpose flag Bit 3 is set so not possible to get proper info from local header.' \
'Please use ::Zip::File instead of ::Zip::InputStream' 'Please use ::Zip::File instead of ::Zip::InputStream'
end end
@decompressor = get_decompressor @decompressor = get_decompressor
flush flush
@current_entry @current_entry
end end
def get_decompressor def get_decompressor
case if @current_entry.nil?
when @current_entry.nil?
::Zip::NullDecompressor ::Zip::NullDecompressor
when @current_entry.compression_method == ::Zip::Entry::STORED elsif @current_entry.compression_method == ::Zip::Entry::STORED
::Zip::PassThruDecompressor.new(@archive_io, @current_entry.size) ::Zip::PassThruDecompressor.new(@archive_io, @current_entry.size)
when @current_entry.compression_method == ::Zip::Entry::DEFLATED elsif @current_entry.compression_method == ::Zip::Entry::DEFLATED
header = @archive_io.read(@decrypter.header_bytesize) header = @archive_io.read(@decrypter.header_bytesize)
@decrypter.reset!(header) @decrypter.reset!(header)
::Zip::Inflater.new(@archive_io, @decrypter) ::Zip::Inflater.new(@archive_io, @decrypter)

View File

@ -33,7 +33,7 @@ module Zip
sysread(number_of_bytes, buf) sysread(number_of_bytes, buf)
end end
if tbuf.nil? || tbuf.length == 0 if tbuf.nil? || tbuf.empty?
return nil if number_of_bytes return nil if number_of_bytes
return '' return ''
end end

View File

@ -15,7 +15,7 @@ module Zip
end end
def printf(a_format_string, *params) def printf(a_format_string, *params)
self << sprintf(a_format_string, *params) self << format(a_format_string, *params)
end end
def putc(an_object) def putc(an_object)

View File

@ -87,11 +87,11 @@ module Zip
# +entry+ can be a ZipEntry object or a string. # +entry+ can be a ZipEntry object or a string.
def put_next_entry(entry_name, comment = nil, extra = nil, compression_method = Entry::DEFLATED, level = Zip.default_compression) def put_next_entry(entry_name, comment = nil, extra = nil, compression_method = Entry::DEFLATED, level = Zip.default_compression)
raise Error, 'zip stream is closed' if @closed raise Error, 'zip stream is closed' if @closed
if entry_name.kind_of?(Entry) new_entry = if entry_name.kind_of?(Entry)
new_entry = entry_name entry_name
else else
new_entry = Entry.new(@file_name, entry_name.to_s) Entry.new(@file_name, entry_name.to_s)
end end
new_entry.comment = comment unless comment.nil? new_entry.comment = comment unless comment.nil?
unless extra.nil? unless extra.nil?
new_entry.extra = extra.is_a?(ExtraField) ? extra : ExtraField.new(extra.to_s) new_entry.extra = extra.is_a?(ExtraField) ? extra : ExtraField.new(extra.to_s)

View File

@ -1,5 +1,5 @@
module Zip module Zip
class PassThruDecompressor < Decompressor #:nodoc:all class PassThruDecompressor < Decompressor #:nodoc:all
def initialize(input_stream, chars_to_read) def initialize(input_stream, chars_to_read)
super(input_stream) super(input_stream)
@chars_to_read = chars_to_read @chars_to_read = chars_to_read

View File

@ -1,4 +1,5 @@
#-*- encoding: utf-8 -*- #-*- encoding: utf-8 -*-
lib = File.expand_path('../lib', __FILE__) lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'zip/version' require 'zip/version'
@ -11,7 +12,7 @@ Gem::Specification.new do |s|
s.homepage = 'http://github.com/rubyzip/rubyzip' s.homepage = 'http://github.com/rubyzip/rubyzip'
s.platform = Gem::Platform::RUBY s.platform = Gem::Platform::RUBY
s.summary = 'rubyzip is a ruby module for reading and writing zip files' s.summary = 'rubyzip is a ruby module for reading and writing zip files'
s.files = Dir.glob('{samples,lib}/**/*.rb') + %w(README.md TODO Rakefile) s.files = Dir.glob('{samples,lib}/**/*.rb') + %w[README.md TODO Rakefile]
s.test_files = Dir.glob('test/**/*') s.test_files = Dir.glob('test/**/*')
s.require_paths = ['lib'] s.require_paths = ['lib']
s.license = 'BSD 2-Clause' s.license = 'BSD 2-Clause'
@ -20,4 +21,5 @@ Gem::Specification.new do |s|
s.add_development_dependency 'pry', '~> 0.10' s.add_development_dependency 'pry', '~> 0.10'
s.add_development_dependency 'minitest', '~> 5.4' s.add_development_dependency 'minitest', '~> 5.4'
s.add_development_dependency 'coveralls', '~> 0.7' s.add_development_dependency 'coveralls', '~> 0.7'
s.add_development_dependency 'rubocop', '~> 0.49.1'
end end

View File

@ -19,7 +19,7 @@ class ZipFileGenerator
# Zip the input directory. # Zip the input directory.
def write def write
entries = Dir.entries(@input_dir) - %w(. ..) entries = Dir.entries(@input_dir) - %w[. ..]
::Zip::File.open(@output_file, ::Zip::File::CREATE) do |io| ::Zip::File.open(@output_file, ::Zip::File::CREATE) do |io|
write_entries entries, '', io write_entries entries, '', io
@ -45,7 +45,7 @@ class ZipFileGenerator
def recursively_deflate_directory(disk_file_path, io, zip_file_path) def recursively_deflate_directory(disk_file_path, io, zip_file_path)
io.mkdir zip_file_path io.mkdir zip_file_path
subdir = Dir.entries(disk_file_path) - %w(. ..) subdir = Dir.entries(disk_file_path) - %w[. ..]
write_entries subdir, zip_file_path, io write_entries subdir, zip_file_path, io
end end

View File

@ -31,7 +31,7 @@ class MainApp < Gtk::Window
sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC) sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
box.pack_start(sw, true, true, 0) box.pack_start(sw, true, true, 0)
@clist = Gtk::CList.new(%w(Name Size Compression)) @clist = Gtk::CList.new(%w[Name Size Compression])
@clist.set_selection_mode(Gtk::SELECTION_BROWSE) @clist.set_selection_mode(Gtk::SELECTION_BROWSE)
@clist.set_column_width(0, 120) @clist.set_column_width(0, 120)
@clist.set_column_width(1, 120) @clist.set_column_width(1, 120)

View File

@ -65,7 +65,7 @@ class ZipDialog < ZipDialogUI
end end
puts "selected_items.size = #{selected_items.size}" puts "selected_items.size = #{selected_items.size}"
puts "unselected_items.size = #{unselected_items.size}" puts "unselected_items.size = #{unselected_items.size}"
items = selected_items.size > 0 ? selected_items : unselected_items items = !selected_items.empty? ? selected_items : unselected_items
puts "items.size = #{items.size}" puts "items.size = #{items.size}"
d = Qt::FileDialog.get_existing_directory(nil, self) d = Qt::FileDialog.get_existing_directory(nil, self)

View File

@ -31,7 +31,7 @@ module Zip
end end
end end
if __FILE__ == $0 if $0 == __FILE__
module ZipFindConsoleRunner module ZipFindConsoleRunner
PATH_ARG_INDEX = 0 PATH_ARG_INDEX = 0
FILENAME_PATTERN_ARG_INDEX = 1 FILENAME_PATTERN_ARG_INDEX = 1
@ -47,7 +47,7 @@ if __FILE__ == $0
end end
def self.check_args(args) def self.check_args(args)
if (args.size != 3) if args.size != 3
usage usage
exit exit
end end

View File

@ -2,7 +2,7 @@ require 'test_helper'
class ZipCentralDirectoryEntryTest < MiniTest::Test class ZipCentralDirectoryEntryTest < MiniTest::Test
def test_read_from_stream def test_read_from_stream
File.open('test/data/testDirectory.bin', 'rb') do |file| File.open('test/data/testDirectory.bin', 'rb') do |file|
entry = ::Zip::Entry.read_c_dir_entry(file) entry = ::Zip::Entry.read_c_dir_entry(file)
assert_equal('longAscii.txt', entry.name) assert_equal('longAscii.txt', entry.name)

View File

@ -1,4 +1,5 @@
# encoding: utf-8 # encoding: utf-8
require 'test_helper' require 'test_helper'
class ErrorsTest < MiniTest::Test class ErrorsTest < MiniTest::Test

View File

@ -1,9 +1,8 @@
require 'test_helper' require 'test_helper'
class FilePermissionsTest < MiniTest::Test class FilePermissionsTest < MiniTest::Test
ZIPNAME = File.join(File.dirname(__FILE__), 'umask.zip')
ZIPNAME = File.join(File.dirname(__FILE__), "umask.zip") FILENAME = File.join(File.dirname(__FILE__), 'umask.txt')
FILENAME = File.join(File.dirname(__FILE__), "umask.txt")
def teardown def teardown
::File.unlink(ZIPNAME) ::File.unlink(ZIPNAME)
@ -16,7 +15,7 @@ class FilePermissionsTest < MiniTest::Test
end end
def test_umask_000 def test_umask_000
set_umask(0000) do set_umask(0o000) do
create_files create_files
end end
@ -24,7 +23,7 @@ class FilePermissionsTest < MiniTest::Test
end end
def test_umask_066 def test_umask_066
set_umask(0066) do set_umask(0o066) do
create_files create_files
end end
@ -32,7 +31,7 @@ class FilePermissionsTest < MiniTest::Test
end end
def test_umask_027 def test_umask_027
set_umask(0027) do set_umask(0o027) do
create_files create_files
end end
@ -48,7 +47,7 @@ class FilePermissionsTest < MiniTest::Test
def create_files def create_files
::Zip::File.open(ZIPNAME, ::Zip::File::CREATE) do |zip| ::Zip::File.open(ZIPNAME, ::Zip::File::CREATE) do |zip|
zip.comment = "test" zip.comment = 'test'
end end
::File.open(FILENAME, 'w') do |file| ::File.open(FILENAME, 'w') do |file|
@ -57,13 +56,10 @@ class FilePermissionsTest < MiniTest::Test
end end
# If anything goes wrong, make sure the umask is restored. # If anything goes wrong, make sure the umask is restored.
def set_umask(umask, &block) def set_umask(umask)
begin saved_umask = ::File.umask(umask)
saved_umask = ::File.umask(umask) yield
yield ensure
ensure ::File.umask(saved_umask)
::File.umask(saved_umask)
end
end end
end end

View File

@ -142,15 +142,15 @@ class ZipFileTest < MiniTest::Test
def test_recover_permissions_after_add_files_to_archive def test_recover_permissions_after_add_files_to_archive
srcZip = TEST_ZIP.zip_name srcZip = TEST_ZIP.zip_name
::File.chmod(0664, srcZip) ::File.chmod(0o664, srcZip)
srcFile = 'test/data/file2.txt' srcFile = 'test/data/file2.txt'
entryName = 'newEntryName.rb' entryName = 'newEntryName.rb'
assert_equal(::File.stat(srcZip).mode, 0100664) assert_equal(::File.stat(srcZip).mode, 0o100664)
assert(::File.exist?(srcZip)) assert(::File.exist?(srcZip))
zf = ::Zip::File.new(srcZip, ::Zip::File::CREATE) zf = ::Zip::File.new(srcZip, ::Zip::File::CREATE)
zf.add(entryName, srcFile) zf.add(entryName, srcFile)
zf.close zf.close
assert_equal(::File.stat(srcZip).mode, 0100664) assert_equal(::File.stat(srcZip).mode, 0o100664)
end end
def test_add_existing_entry_name def test_add_existing_entry_name
@ -234,7 +234,7 @@ class ZipFileTest < MiniTest::Test
zf.mkdir('test') zf.mkdir('test')
arr << 'test/' arr << 'test/'
arr_renamed << 'Ztest/' arr_renamed << 'Ztest/'
%w(a b c d).each do |f| %w[a b c d].each do |f|
zf.get_output_stream("test/#{f}") { |file| file.puts 'aaaa' } zf.get_output_stream("test/#{f}") { |file| file.puts 'aaaa' }
arr << "test/#{f}" arr << "test/#{f}"
arr_renamed << "Ztest/#{f}" arr_renamed << "Ztest/#{f}"
@ -329,7 +329,7 @@ class ZipFileTest < MiniTest::Test
def test_replace_non_entry def test_replace_non_entry
entryToReplace = 'nonExistingEntryname' entryToReplace = 'nonExistingEntryname'
::Zip::File.open(TEST_ZIP.zip_name) do |zf| ::Zip::File.open(TEST_ZIP.zip_name) do |zf|
assert_raises(Errno::ENOENT) { zf.replace(entryToReplace, 'test/data/file2.txt') } assert_raises(Errno::ENOENT) { zf.replace(entryToReplace, 'test/data/file2.txt') }
end end
end end
@ -434,7 +434,6 @@ class ZipFileTest < MiniTest::Test
filename_to_remove = originalEntries.map(&:to_s).find { |name| name.match('longBinary') } filename_to_remove = originalEntries.map(&:to_s).find { |name| name.match('longBinary') }
zf.remove(filename_to_remove) zf.remove(filename_to_remove)
assert_not_contains(zf, filename_to_remove) assert_not_contains(zf, filename_to_remove)
ensure ensure
zf.close zf.close
end end
@ -558,7 +557,7 @@ class ZipFileTest < MiniTest::Test
entry_count = 0 entry_count = 0
File.open 'test/data/oddExtraField.zip', 'rb' do |zip_io| File.open 'test/data/oddExtraField.zip', 'rb' do |zip_io|
Zip::File.open_buffer zip_io.read do |zip| Zip::File.open_buffer zip_io.read do |zip|
zip.each do |zip_entry| zip.each do |_zip_entry|
entry_count += 1 entry_count += 1
end end
end end

View File

@ -2,7 +2,7 @@ require 'test_helper'
require 'zip/filesystem' require 'zip/filesystem'
class ZipFsDirIteratorTest < MiniTest::Test class ZipFsDirIteratorTest < MiniTest::Test
FILENAME_ARRAY = %w(f1 f2 f3 f4 f5 f6) FILENAME_ARRAY = %w[f1 f2 f3 f4 f5 f6]
def setup def setup
@dirIt = ::Zip::FileSystem::ZipFsDirIterator.new(FILENAME_ARRAY) @dirIt = ::Zip::FileSystem::ZipFsDirIterator.new(FILENAME_ARRAY)

View File

@ -51,10 +51,10 @@ class ZipFsDirectoryTest < MiniTest::Test
zf.dir.chdir 'file1' zf.dir.chdir 'file1'
end end
assert_equal(%w(dir1 dir2 file1).sort, zf.dir.entries('.').sort) assert_equal(%w[dir1 dir2 file1].sort, zf.dir.entries('.').sort)
zf.dir.chdir 'dir1' zf.dir.chdir 'dir1'
assert_equal('/dir1', zf.dir.pwd) assert_equal('/dir1', zf.dir.pwd)
assert_equal(%w(dir11 file11 file12), zf.dir.entries('.').sort) assert_equal(%w[dir11 file11 file12], zf.dir.entries('.').sort)
zf.dir.chdir '../dir2/dir21' zf.dir.chdir '../dir2/dir21'
assert_equal('/dir2/dir21', zf.dir.pwd) assert_equal('/dir2/dir21', zf.dir.pwd)
@ -77,11 +77,11 @@ class ZipFsDirectoryTest < MiniTest::Test
entries = [] entries = []
zf.dir.foreach('.') { |e| entries << e } zf.dir.foreach('.') { |e| entries << e }
assert_equal(%w(dir1 dir2 file1).sort, entries.sort) assert_equal(%w[dir1 dir2 file1].sort, entries.sort)
entries = [] entries = []
zf.dir.foreach('dir1') { |e| entries << e } zf.dir.foreach('dir1') { |e| entries << e }
assert_equal(%w(dir11 file11 file12), entries.sort) assert_equal(%w[dir11 file11 file12], entries.sort)
end end
end end
@ -110,11 +110,11 @@ class ZipFsDirectoryTest < MiniTest::Test
end end
d = zf.dir.new('.') d = zf.dir.new('.')
assert_equal(%w(file1 dir1 dir2).sort, d.entries.sort) assert_equal(%w[file1 dir1 dir2].sort, d.entries.sort)
d.close d.close
zf.dir.open('dir1') do |dir| zf.dir.open('dir1') do |dir|
assert_equal(%w(dir11 file11 file12).sort, dir.entries.sort) assert_equal(%w[dir11 file11 file12].sort, dir.entries.sort)
end end
end end
end end

View File

@ -7,8 +7,7 @@ class ZipFsFileMutatingTest < MiniTest::Test
FileUtils.cp('test/data/zipWithDirs.zip', TEST_ZIP) FileUtils.cp('test/data/zipWithDirs.zip', TEST_ZIP)
end end
def teardown def teardown; end
end
def test_delete def test_delete
do_test_delete_or_unlink(:delete) do_test_delete_or_unlink(:delete)
@ -51,11 +50,11 @@ class ZipFsFileMutatingTest < MiniTest::Test
def test_chmod def test_chmod
::Zip::File.open(TEST_ZIP) do |zf| ::Zip::File.open(TEST_ZIP) do |zf|
zf.file.chmod(0765, 'file1') zf.file.chmod(0o765, 'file1')
end end
::Zip::File.open(TEST_ZIP) do |zf| ::Zip::File.open(TEST_ZIP) do |zf|
assert_equal(0100765, zf.file.stat('file1').mode) assert_equal(0o100765, zf.file.stat('file1').mode)
end end
end end

View File

@ -14,11 +14,11 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
def test_umask def test_umask
assert_equal(::File.umask, @zip_file.file.umask) assert_equal(::File.umask, @zip_file.file.umask)
@zip_file.file.umask(0006) @zip_file.file.umask(0o006)
end end
def test_exists? def test_exists?
assert(! @zip_file.file.exists?('notAFile')) assert(!@zip_file.file.exists?('notAFile'))
assert(@zip_file.file.exists?('file1')) assert(@zip_file.file.exists?('file1'))
assert(@zip_file.file.exists?('dir1')) assert(@zip_file.file.exists?('dir1'))
assert(@zip_file.file.exists?('dir1/')) assert(@zip_file.file.exists?('dir1/'))
@ -114,13 +114,13 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
def test_file? def test_file?
assert(@zip_file.file.file?('file1')) assert(@zip_file.file.file?('file1'))
assert(@zip_file.file.file?('dir2/file21')) assert(@zip_file.file.file?('dir2/file21'))
assert(! @zip_file.file.file?('dir1')) assert(!@zip_file.file.file?('dir1'))
assert(! @zip_file.file.file?('dir1/dir11')) assert(!@zip_file.file.file?('dir1/dir11'))
assert(@zip_file.file.stat('file1').file?) assert(@zip_file.file.stat('file1').file?)
assert(@zip_file.file.stat('dir2/file21').file?) assert(@zip_file.file.stat('dir2/file21').file?)
assert(! @zip_file.file.stat('dir1').file?) assert(!@zip_file.file.stat('dir1').file?)
assert(! @zip_file.file.stat('dir1/dir11').file?) assert(!@zip_file.file.stat('dir1/dir11').file?)
end end
include ExtraAssertions include ExtraAssertions
@ -160,15 +160,15 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def assert_always_false(operation) def assert_always_false(operation)
assert(! @zip_file.file.send(operation, 'noSuchFile')) assert(!@zip_file.file.send(operation, 'noSuchFile'))
assert(! @zip_file.file.send(operation, 'file1')) assert(!@zip_file.file.send(operation, 'file1'))
assert(! @zip_file.file.send(operation, 'dir1')) assert(!@zip_file.file.send(operation, 'dir1'))
assert(! @zip_file.file.stat('file1').send(operation)) assert(!@zip_file.file.stat('file1').send(operation))
assert(! @zip_file.file.stat('dir1').send(operation)) assert(!@zip_file.file.stat('dir1').send(operation))
end end
def assert_true_if_entry_exists(operation) def assert_true_if_entry_exists(operation)
assert(! @zip_file.file.send(operation, 'noSuchFile')) assert(!@zip_file.file.send(operation, 'noSuchFile'))
assert(@zip_file.file.send(operation, 'file1')) assert(@zip_file.file.send(operation, 'file1'))
assert(@zip_file.file.send(operation, 'dir1')) assert(@zip_file.file.send(operation, 'dir1'))
assert(@zip_file.file.stat('file1').send(operation)) assert(@zip_file.file.stat('file1').send(operation))
@ -221,15 +221,15 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_directory? def test_directory?
assert(! @zip_file.file.directory?('notAFile')) assert(!@zip_file.file.directory?('notAFile'))
assert(! @zip_file.file.directory?('file1')) assert(!@zip_file.file.directory?('file1'))
assert(! @zip_file.file.directory?('dir1/file11')) assert(!@zip_file.file.directory?('dir1/file11'))
assert(@zip_file.file.directory?('dir1')) assert(@zip_file.file.directory?('dir1'))
assert(@zip_file.file.directory?('dir1/')) assert(@zip_file.file.directory?('dir1/'))
assert(@zip_file.file.directory?('dir2/dir21')) assert(@zip_file.file.directory?('dir2/dir21'))
assert(! @zip_file.file.stat('file1').directory?) assert(!@zip_file.file.stat('file1').directory?)
assert(! @zip_file.file.stat('dir1/file11').directory?) assert(!@zip_file.file.stat('dir1/file11').directory?)
assert(@zip_file.file.stat('dir1').directory?) assert(@zip_file.file.stat('dir1').directory?)
assert(@zip_file.file.stat('dir1/').directory?) assert(@zip_file.file.stat('dir1/').directory?)
assert(@zip_file.file.stat('dir2/dir21').directory?) assert(@zip_file.file.stat('dir2/dir21').directory?)
@ -243,8 +243,8 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_zero? def test_zero?
assert(! @zip_file.file.zero?('notAFile')) assert(!@zip_file.file.zero?('notAFile'))
assert(! @zip_file.file.zero?('file1')) assert(!@zip_file.file.zero?('file1'))
assert(@zip_file.file.zero?('dir1')) assert(@zip_file.file.zero?('dir1'))
blockCalled = false blockCalled = false
::Zip::File.open('test/data/generated/5entry.zip') do |zf| ::Zip::File.open('test/data/generated/5entry.zip') do |zf|
@ -253,7 +253,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
assert(blockCalled) assert(blockCalled)
assert(! @zip_file.file.stat('file1').zero?) assert(!@zip_file.file.stat('file1').zero?)
assert(@zip_file.file.stat('dir1').zero?) assert(@zip_file.file.stat('dir1').zero?)
blockCalled = false blockCalled = false
::Zip::File.open('test/data/generated/5entry.zip') do |zf| ::Zip::File.open('test/data/generated/5entry.zip') do |zf|
@ -309,7 +309,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_readable? def test_readable?
assert(! @zip_file.file.readable?('noSuchFile')) assert(!@zip_file.file.readable?('noSuchFile'))
assert(@zip_file.file.readable?('file1')) assert(@zip_file.file.readable?('file1'))
assert(@zip_file.file.readable?('dir1')) assert(@zip_file.file.readable?('dir1'))
assert(@zip_file.file.stat('file1').readable?) assert(@zip_file.file.stat('file1').readable?)
@ -317,7 +317,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_readable_real? def test_readable_real?
assert(! @zip_file.file.readable_real?('noSuchFile')) assert(!@zip_file.file.readable_real?('noSuchFile'))
assert(@zip_file.file.readable_real?('file1')) assert(@zip_file.file.readable_real?('file1'))
assert(@zip_file.file.readable_real?('dir1')) assert(@zip_file.file.readable_real?('dir1'))
assert(@zip_file.file.stat('file1').readable_real?) assert(@zip_file.file.stat('file1').readable_real?)
@ -325,7 +325,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_writable? def test_writable?
assert(! @zip_file.file.writable?('noSuchFile')) assert(!@zip_file.file.writable?('noSuchFile'))
assert(@zip_file.file.writable?('file1')) assert(@zip_file.file.writable?('file1'))
assert(@zip_file.file.writable?('dir1')) assert(@zip_file.file.writable?('dir1'))
assert(@zip_file.file.stat('file1').writable?) assert(@zip_file.file.stat('file1').writable?)
@ -333,7 +333,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_writable_real? def test_writable_real?
assert(! @zip_file.file.writable_real?('noSuchFile')) assert(!@zip_file.file.writable_real?('noSuchFile'))
assert(@zip_file.file.writable_real?('file1')) assert(@zip_file.file.writable_real?('file1'))
assert(@zip_file.file.writable_real?('dir1')) assert(@zip_file.file.writable_real?('dir1'))
assert(@zip_file.file.stat('file1').writable_real?) assert(@zip_file.file.stat('file1').writable_real?)
@ -341,18 +341,18 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
end end
def test_executable? def test_executable?
assert(! @zip_file.file.executable?('noSuchFile')) assert(!@zip_file.file.executable?('noSuchFile'))
assert(! @zip_file.file.executable?('file1')) assert(!@zip_file.file.executable?('file1'))
assert(@zip_file.file.executable?('dir1')) assert(@zip_file.file.executable?('dir1'))
assert(! @zip_file.file.stat('file1').executable?) assert(!@zip_file.file.stat('file1').executable?)
assert(@zip_file.file.stat('dir1').executable?) assert(@zip_file.file.stat('dir1').executable?)
end end
def test_executable_real? def test_executable_real?
assert(! @zip_file.file.executable_real?('noSuchFile')) assert(!@zip_file.file.executable_real?('noSuchFile'))
assert(! @zip_file.file.executable_real?('file1')) assert(!@zip_file.file.executable_real?('file1'))
assert(@zip_file.file.executable_real?('dir1')) assert(@zip_file.file.executable_real?('dir1'))
assert(! @zip_file.file.stat('file1').executable_real?) assert(!@zip_file.file.stat('file1').executable_real?)
assert(@zip_file.file.stat('dir1').executable_real?) assert(@zip_file.file.stat('dir1').executable_real?)
end end
@ -455,7 +455,7 @@ class ZipFsFileNonmutatingTest < MiniTest::Test
zf.glob('**/foo.txt') do |match| zf.glob('**/foo.txt') do |match|
results << "<#{match.class.name}: #{match}>" results << "<#{match.class.name}: #{match}>"
end end
assert((!results.empty?), 'block not run, or run out of context') assert(!results.empty?, 'block not run, or run out of context')
assert_equal 2, results.size assert_equal 2, results.size
assert_operator results, :include?, '<Zip::Entry: globTest/foo.txt>' assert_operator results, :include?, '<Zip::Entry: globTest/foo.txt>'
assert_operator results, :include?, '<Zip::Entry: globTest/foo/bar/baz/foo.txt>' assert_operator results, :include?, '<Zip::Entry: globTest/foo/bar/baz/foo.txt>'

View File

@ -32,10 +32,10 @@ class ZipFsFileStatTest < MiniTest::Test
end end
def test_mode def test_mode
assert_equal(0600, @zip_file.file.stat('file1').mode & 0777) assert_equal(0o600, @zip_file.file.stat('file1').mode & 0o777)
assert_equal(0600, @zip_file.file.stat('file1').mode & 0777) assert_equal(0o600, @zip_file.file.stat('file1').mode & 0o777)
assert_equal(0755, @zip_file.file.stat('dir1').mode & 0777) assert_equal(0o755, @zip_file.file.stat('dir1').mode & 0o777)
assert_equal(0755, @zip_file.file.stat('dir1').mode & 0777) assert_equal(0o755, @zip_file.file.stat('dir1').mode & 0o777)
end end
def test_dev def test_dev

View File

@ -76,7 +76,7 @@ class TestZipFile
File.open('test/data/generated/empty.txt', 'w') {} File.open('test/data/generated/empty.txt', 'w') {}
File.open('test/data/generated/empty_chmod640.txt', 'w') {} File.open('test/data/generated/empty_chmod640.txt', 'w') {}
::File.chmod(0640, 'test/data/generated/empty_chmod640.txt') ::File.chmod(0o640, 'test/data/generated/empty_chmod640.txt')
File.open('test/data/generated/short.txt', 'w') { |file| file << 'ABCDEF' } File.open('test/data/generated/short.txt', 'w') { |file| file << 'ABCDEF' }
ziptestTxt = '' ziptestTxt = ''
@ -112,15 +112,15 @@ class TestZipFile
# http://stahlworks.com/dev/index.php?tool=zipunzip # http://stahlworks.com/dev/index.php?tool=zipunzip
# that works with the above code # that works with the above code
raise $!.to_s + raise $!.to_s +
"\n\nziptest.rb requires the Info-ZIP program 'zip' in the path\n" \ "\n\nziptest.rb requires the Info-ZIP program 'zip' in the path\n" \
"to create test data. If you don't have it you can download\n" \ "to create test data. If you don't have it you can download\n" \
'the necessary test files at http://sf.net/projects/rubyzip.' 'the necessary test files at http://sf.net/projects/rubyzip.'
end end
TEST_ZIP1 = TestZipFile.new('test/data/generated/empty.zip', []) TEST_ZIP1 = TestZipFile.new('test/data/generated/empty.zip', [])
TEST_ZIP2 = TestZipFile.new('test/data/generated/5entry.zip', %w(test/data/generated/longAscii.txt test/data/generated/empty.txt test/data/generated/empty_chmod640.txt test/data/generated/short.txt test/data/generated/longBinary.bin), TEST_ZIP2 = TestZipFile.new('test/data/generated/5entry.zip', %w[test/data/generated/longAscii.txt test/data/generated/empty.txt test/data/generated/empty_chmod640.txt test/data/generated/short.txt test/data/generated/longBinary.bin],
'my zip comment') 'my zip comment')
TEST_ZIP3 = TestZipFile.new('test/data/generated/test1.zip', %w(test/data/file1.txt)) TEST_ZIP3 = TestZipFile.new('test/data/generated/test1.zip', %w[test/data/file1.txt])
TEST_ZIP4 = TestZipFile.new('test/data/generated/zipWithDir.zip', ['test/data/file1.txt', TEST_ZIP4 = TestZipFile.new('test/data/generated/zipWithDir.zip', ['test/data/file1.txt',
TestFiles::EMPTY_TEST_DIR]) TestFiles::EMPTY_TEST_DIR])
end end

View File

@ -70,7 +70,7 @@ class ZipInputStreamTest < MiniTest::Test
entry = zis.get_next_entry # longAscii.txt entry = zis.get_next_entry # longAscii.txt
assert_equal(false, zis.eof?) assert_equal(false, zis.eof?)
assert_equal(TestZipFile::TEST_ZIP2.entry_names[0], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[0], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
assert_equal(false, zis.eof?) assert_equal(false, zis.eof?)
entry = zis.get_next_entry # empty.txt entry = zis.get_next_entry # empty.txt
assert_equal(TestZipFile::TEST_ZIP2.entry_names[1], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[1], entry.name)
@ -84,10 +84,10 @@ class ZipInputStreamTest < MiniTest::Test
assert_equal(true, zis.eof?) assert_equal(true, zis.eof?)
entry = zis.get_next_entry # short.txt entry = zis.get_next_entry # short.txt
assert_equal(TestZipFile::TEST_ZIP2.entry_names[3], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[3], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
entry = zis.get_next_entry # longBinary.bin entry = zis.get_next_entry # longBinary.bin
assert_equal(TestZipFile::TEST_ZIP2.entry_names[4], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[4], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
end end
end end
@ -97,7 +97,7 @@ class ZipInputStreamTest < MiniTest::Test
entry = zis.get_next_entry # longAscii.txt entry = zis.get_next_entry # longAscii.txt
assert_equal(false, zis.eof?) assert_equal(false, zis.eof?)
assert_equal(TestZipFile::TEST_ZIP2.entry_names[0], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[0], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
assert_equal(false, zis.eof?) assert_equal(false, zis.eof?)
entry = zis.get_next_entry # empty.txt entry = zis.get_next_entry # empty.txt
assert_equal(TestZipFile::TEST_ZIP2.entry_names[1], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[1], entry.name)
@ -111,10 +111,10 @@ class ZipInputStreamTest < MiniTest::Test
assert_equal(true, zis.eof?) assert_equal(true, zis.eof?)
entry = zis.get_next_entry # short.txt entry = zis.get_next_entry # short.txt
assert_equal(TestZipFile::TEST_ZIP2.entry_names[3], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[3], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
entry = zis.get_next_entry # longBinary.bin entry = zis.get_next_entry # longBinary.bin
assert_equal(TestZipFile::TEST_ZIP2.entry_names[4], entry.name) assert_equal(TestZipFile::TEST_ZIP2.entry_names[4], entry.name)
assert zis.gets.length > 0 assert !zis.gets.empty?
end end
end end

View File

@ -92,11 +92,11 @@ class AbstractOutputStreamTest < MiniTest::Test
assert_equal("hello\nworld\n", @output_stream.buffer) assert_equal("hello\nworld\n", @output_stream.buffer)
@output_stream.buffer = '' @output_stream.buffer = ''
@output_stream.puts(["hello\n", "world\n"]) @output_stream.puts(%W[hello\n world\n])
assert_equal("hello\nworld\n", @output_stream.buffer) assert_equal("hello\nworld\n", @output_stream.buffer)
@output_stream.buffer = '' @output_stream.buffer = ''
@output_stream.puts(["hello\n", "world\n"], 'bingo') @output_stream.puts(%W[hello\n world\n], 'bingo')
assert_equal("hello\nworld\nbingo\n", @output_stream.buffer) assert_equal("hello\nworld\nbingo\n", @output_stream.buffer)
@output_stream.buffer = '' @output_stream.buffer = ''

View File

@ -103,7 +103,7 @@ module AssertEntry
File.open(filename, 'rb') do |file| File.open(filename, 'rb') do |file|
expected = file.read expected = file.read
actual = zis.read actual = zis.read
if (expected != actual) if expected != actual
if (expected && actual) && (expected.length > 400 || actual.length > 400) if (expected && actual) && (expected.length > 400 || actual.length > 400)
zipEntryFilename = entryName + '.zipEntry' zipEntryFilename = entryName + '.zipEntry'
File.open(zipEntryFilename, 'wb') { |entryfile| entryfile << actual } File.open(zipEntryFilename, 'wb') { |entryfile| entryfile << actual }
@ -118,7 +118,7 @@ module AssertEntry
def self.assert_contents(filename, aString) def self.assert_contents(filename, aString)
fileContents = '' fileContents = ''
File.open(filename, 'rb') { |f| fileContents = f.read } File.open(filename, 'rb') { |f| fileContents = f.read }
if (fileContents != aString) if fileContents != aString
if fileContents.length > 400 || aString.length > 400 if fileContents.length > 400 || aString.length > 400
stringFile = filename + '.other' stringFile = filename + '.other'
File.open(stringFile, 'wb') { |f| f << aString } File.open(stringFile, 'wb') { |f| f << aString }

View File

@ -36,7 +36,7 @@ if ENV['FULL_ZIP64_TEST']
end end
::Zip::File.open(test_filename) do |zf| ::Zip::File.open(test_filename) do |zf|
assert_equal %w(first_file.txt huge_file last_file.txt), zf.entries.map(&:name) assert_equal %w[first_file.txt huge_file last_file.txt], zf.entries.map(&:name)
assert_equal first_text, zf.read('first_file.txt') assert_equal first_text, zf.read('first_file.txt')
assert_equal last_text, zf.read('last_file.txt') assert_equal last_text, zf.read('last_file.txt')
end end