Class: ZipFsDirectoryTest

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

Constant Summary collapse

TEST_ZIP =
"test/data/generated/zipWithDirs_copy.zip"

Instance Method Summary collapse

Instance Method Details

#setupObject



7
8
9
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 7

def setup
  FileUtils.cp("test/data/zipWithDirs.zip", TEST_ZIP)
end

#test_chrootObject



93
94
95
96
97
98
99
100
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 93

def test_chroot
  ::Zip::File.open(TEST_ZIP) {
    |zf|
    assert_raises(NotImplementedError) {
      zf.dir.chroot
    }
  }
end

#test_deleteObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 11

def test_delete
  ::Zip::File.open(TEST_ZIP) {
    |zf|
    assert_raises(Errno::ENOENT, "No such file or directory - NoSuchFile.txt") {
      zf.dir.delete("NoSuchFile.txt")
    }
    assert_raises(Errno::EINVAL, "Invalid argument - file1") {
      zf.dir.delete("file1")
    }
    assert(zf.file.exists?("dir1"))
    zf.dir.delete("dir1")
    assert(! zf.file.exists?("dir1"))
  }
end

#test_foreachObject



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 68

def test_foreach
  ::Zip::File.open(TEST_ZIP) {
    |zf|

    blockCalled = false
    assert_raises(Errno::ENOENT, "No such file or directory - noSuchDir") {
      zf.dir.foreach("noSuchDir") { |e| blockCalled = true }
    }
    assert(! blockCalled)

    assert_raises(Errno::ENOTDIR, "Not a directory - file1") {
      zf.dir.foreach("file1") { |e| blockCalled = true }
    }
    assert(! blockCalled)

    entries = []
    zf.dir.foreach(".") { |e| entries << e }
    assert_equal(["dir1", "dir2", "file1"].sort, entries.sort)

    entries = []
    zf.dir.foreach("dir1") { |e| entries << e }
    assert_equal(["dir11", "file11", "file12"], entries.sort)
  }
end

#test_mkdirObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 26

def test_mkdir
  ::Zip::File.open(TEST_ZIP) {
    |zf|
    assert_raises(Errno::EEXIST, "File exists - dir1") {
      zf.dir.mkdir("file1")
    }
    assert_raises(Errno::EEXIST, "File exists - dir1") {
      zf.dir.mkdir("dir1")
    }
    assert(!zf.file.exists?("newDir"))
    zf.dir.mkdir("newDir")
    assert(zf.file.directory?("newDir"))
    assert(!zf.file.exists?("newDir2"))
    zf.dir.mkdir("newDir2", 3485)
    assert(zf.file.directory?("newDir2"))
  }
end

#test_open_newObject

Globbing not supported yet def test_glob

# test alias []-operator too
fail "implement test"

end



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 108

def test_open_new
  ::Zip::File.open(TEST_ZIP) {
    |zf|

    assert_raises(Errno::ENOTDIR, "Not a directory - file1") {
      zf.dir.new("file1")
    }

    assert_raises(Errno::ENOENT, "No such file or directory - noSuchFile") {
      zf.dir.new("noSuchFile")
    }

    d = zf.dir.new(".")
    assert_equal(["file1", "dir1", "dir2"].sort, d.entries.sort)
    d.close

    zf.dir.open("dir1") {
      |dir|
      assert_equal(["dir11", "file11", "file12"].sort, dir.entries.sort)
    }
  }
end

#test_pwd_chdir_entriesObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/filesystem/directory_test.rb', line 44

def test_pwd_chdir_entries
  ::Zip::File.open(TEST_ZIP) {
    |zf|
    assert_equal("/", zf.dir.pwd)

    assert_raises(Errno::ENOENT, "No such file or directory - no such dir") {
      zf.dir.chdir "no such dir"
    }

    assert_raises(Errno::EINVAL, "Invalid argument - file1") {
      zf.dir.chdir "file1"
    }

    assert_equal(["dir1", "dir2", "file1"].sort, zf.dir.entries(".").sort)
    zf.dir.chdir "dir1"
    assert_equal("/dir1", zf.dir.pwd)
    assert_equal(["dir11", "file11", "file12"], zf.dir.entries(".").sort)

    zf.dir.chdir "../dir2/dir21"
    assert_equal("/dir2/dir21", zf.dir.pwd)
    assert_equal(["dir221"].sort, zf.dir.entries(".").sort)
  }
end