Class: ZipEntrySetTest

Inherits:
MiniTest::Test
  • Object
show all
Defined in:
lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb

Constant Summary collapse

ZIP_ENTRIES =
[
    ::Zip::Entry.new("zipfile.zip", "name1", "comment1"),
    ::Zip::Entry.new("zipfile.zip", "name3", "comment1"),
    ::Zip::Entry.new("zipfile.zip", "name2", "comment1"),
    ::Zip::Entry.new("zipfile.zip", "name4", "comment1"),
    ::Zip::Entry.new("zipfile.zip", "name5", "comment1"),
    ::Zip::Entry.new("zipfile.zip", "name6", "comment1")
]

Instance Method Summary collapse

Instance Method Details

#setupObject



13
14
15
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 13

def setup
  @zipEntrySet = ::Zip::EntrySet.new(ZIP_ENTRIES)
end

#teardownObject



17
18
19
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 17

def teardown
  ::Zip.reset!
end

#test_addObject



33
34
35
36
37
38
39
40
41
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 33

def test_add
  zes = ::Zip::EntrySet.new
  entry1 = ::Zip::Entry.new("zf.zip", "name1")
  entry2 = ::Zip::Entry.new("zf.zip", "name2")
  zes << entry1
  assert(zes.include?(entry1))
  zes.push(entry2)
  assert(zes.include?(entry2))
end

#test_compoundObject



84
85
86
87
88
89
90
91
92
93
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 84

def test_compound
  newEntry = ::Zip::Entry.new("zf.zip", "new entry", "new entry's comment")
  assert_equal(ZIP_ENTRIES.size, @zipEntrySet.size)
  @zipEntrySet << newEntry
  assert_equal(ZIP_ENTRIES.size + 1, @zipEntrySet.size)
  assert(@zipEntrySet.include?(newEntry))

  @zipEntrySet.delete(newEntry)
  assert_equal(ZIP_ENTRIES.size, @zipEntrySet.size)
end

#test_deleteObject



43
44
45
46
47
48
49
50
51
52
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 43

def test_delete
  assert_equal(ZIP_ENTRIES.size, @zipEntrySet.size)
  entry = @zipEntrySet.delete(ZIP_ENTRIES.first)
  assert_equal(ZIP_ENTRIES.size - 1, @zipEntrySet.size)
  assert_equal(ZIP_ENTRIES.first, entry)

  entry = @zipEntrySet.delete(ZIP_ENTRIES.first)
  assert_equal(ZIP_ENTRIES.size - 1, @zipEntrySet.size)
  assert_nil(entry)
end

#test_dupObject



95
96
97
98
99
100
101
102
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 95

def test_dup
  copy = @zipEntrySet.dup
  assert_equal(@zipEntrySet, copy)

  # demonstrate that this is a deep copy
  copy.entries[0].name = "a totally different name"
  assert(@zipEntrySet != copy)
end

#test_eachObject



54
55
56
57
58
59
60
61
62
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 54

def test_each
  # Used each instead each_with_index due the bug in jRuby
  count = 0
  @zipEntrySet.each do |entry|
    assert(ZIP_ENTRIES.include?(entry))
    count += 1
  end
  assert_equal(ZIP_ENTRIES.size, count)
end

#test_entriesObject



64
65
66
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 64

def test_entries
  assert_equal(ZIP_ENTRIES, @zipEntrySet.entries)
end

#test_entries_sorted_in_eachObject



75
76
77
78
79
80
81
82
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 75

def test_entries_sorted_in_each
  ::Zip.sort_entries = true
  arr = []
  @zipEntrySet.each do |entry|
    arr << entry
  end
  assert_equal(ZIP_ENTRIES.sort, arr)
end

#test_entries_with_sortObject



68
69
70
71
72
73
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 68

def test_entries_with_sort
  ::Zip.sort_entries = true
  assert_equal(ZIP_ENTRIES.sort, @zipEntrySet.entries)
  ::Zip.sort_entries = false
  assert_equal(ZIP_ENTRIES, @zipEntrySet.entries)
end

#test_globObject



117
118
119
120
121
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 117

def test_glob
  res = @zipEntrySet.glob('name[2-4]')
  assert_equal(3, res.size)
  assert_equal(ZIP_ENTRIES[1, 3].sort, res.sort)
end

#test_glob2Object



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 123

def test_glob2
  entries = [
      ::Zip::Entry.new("zf.zip", "a/"),
      ::Zip::Entry.new("zf.zip", "a/b/b1"),
      ::Zip::Entry.new("zf.zip", "a/b/c/"),
      ::Zip::Entry.new("zf.zip", "a/b/c/c1")
  ]
  entrySet = ::Zip::EntrySet.new(entries)

  assert_equal(entries[0, 1], entrySet.glob("*"))
#    assert_equal(entries[FIXME], entrySet.glob("**"))
#    res = entrySet.glob('a*')
#    assert_equal(entries.size, res.size)
#    assert_equal(entrySet.map { |e| e.name }, res.map { |e| e.name })
end

#test_includeObject



21
22
23
24
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 21

def test_include
  assert(@zipEntrySet.include?(ZIP_ENTRIES.first))
  assert(!@zipEntrySet.include?(::Zip::Entry.new("different.zip", "different", "aComment")))
end

#test_parentObject



104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 104

def test_parent
  entries = [
      ::Zip::Entry.new("zf.zip", "a/"),
      ::Zip::Entry.new("zf.zip", "a/b/"),
      ::Zip::Entry.new("zf.zip", "a/b/c/")
  ]
  entrySet = ::Zip::EntrySet.new(entries)

  assert_equal(nil, entrySet.parent(entries[0]))
  assert_equal(entries[0], entrySet.parent(entries[1]))
  assert_equal(entries[1], entrySet.parent(entries[2]))
end

#test_sizeObject



26
27
28
29
30
31
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/entry_set_test.rb', line 26

def test_size
  assert_equal(ZIP_ENTRIES.size, @zipEntrySet.size)
  assert_equal(ZIP_ENTRIES.size, @zipEntrySet.length)
  @zipEntrySet << ::Zip::Entry.new("a", "b", "c")
  assert_equal(ZIP_ENTRIES.size + 1, @zipEntrySet.length)
end