diff --git a/zip.rb b/zip.rb index 15fcf9f..a32a817 100755 --- a/zip.rb +++ b/zip.rb @@ -331,7 +331,11 @@ module Zip return (%r{\/$} =~ @name) != nil end alias :isDirectory :directory? - + + def file? + ! directory? + end + def localEntryOffset #:nodoc:all localHeaderOffset + localHeaderSize end diff --git a/ziptest.rb b/ziptest.rb index 65c529c..2282334 100755 --- a/ziptest.rb +++ b/ziptest.rb @@ -111,6 +111,20 @@ class ZipEntryTest < RUNIT::TestCase assert_equals(TEST_ISDIRECTORY, entry.isDirectory) end + def test_isDirectoryAndIsFile + assert(ZipEntry.new(TEST_ZIPFILE, "hello").file?) + assert(! ZipEntry.new(TEST_ZIPFILE, "hello").directory?) + + assert(ZipEntry.new(TEST_ZIPFILE, "dir/hello").file?) + assert(! ZipEntry.new(TEST_ZIPFILE, "dir/hello").directory?) + + assert(ZipEntry.new(TEST_ZIPFILE, "hello/").directory?) + assert(! ZipEntry.new(TEST_ZIPFILE, "hello/").file?) + + assert(ZipEntry.new(TEST_ZIPFILE, "dir/hello/").directory?) + assert(! ZipEntry.new(TEST_ZIPFILE, "dir/hello/").file?) + end + def test_equality entry1 = ZipEntry.new("file.zip", "name", "isNotCompared", "something extra", 123, 1234,