forked from mxriverlynn/Albacore
/
unzip_spec.rb
88 lines (73 loc) · 2.43 KB
/
unzip_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
require 'spec_helper'
require 'ziptestdata'
require 'albacore/zipdirectory'
require 'albacore/unzip'
describe Unzip, "when providing configuration" do
let :uz do
Albacore.configure do |config|
config.unzip.file = "configured"
config.unzip.force = true
end
uz = Unzip.new
end
it "should use the configured values" do
uz.file.should == "configured"
end
it "should set the force option to true" do
uz.force.should be_true
end
end
describe Unzip, 'when unzipping a file that already exists without force option set' do
before :each do
zip = ZipDirectory.new
zip.directories_to_zip ZipTestData.folder
zip.output_file = 'test.zip'
zip.execute
unzip = Unzip.new
unzip.file = File.join(ZipTestData.folder, 'test.zip')
unzip.destination = ZipTestData.output_folder
unzip.execute
end
after :each do
FileUtils.rm_rf ZipTestData.output_folder if File.exist? ZipTestData.output_folder
end
it 'should not unzip the file' do
new_text = "Test file for unzip task"
changed_file = File.join(ZipTestData.output_folder, 'files', 'testfile.txt')
File.open(changed_file, 'a') { |f| f.write(new_text) }
unzip = Unzip.new
unzip.file = File.join(ZipTestData.folder, 'test.zip')
unzip.destination = ZipTestData.output_folder
unzip.force = false
unzip.execute
File.exist?(changed_file).should be_true
File.open(changed_file).grep(/#{new_text}/).count.should be > 0
end
end
describe Unzip, 'when unzipping a file that already exists with force option set' do
before :each do
zip = ZipDirectory.new
zip.directories_to_zip ZipTestData.folder
zip.output_file = 'test.zip'
zip.execute
unzip = Unzip.new
unzip.file = File.join(ZipTestData.folder, 'test.zip')
unzip.destination = ZipTestData.output_folder
unzip.execute
end
after :each do
FileUtils.rm_rf ZipTestData.output_folder if File.exist? ZipTestData.output_folder
end
it 'should unzip the file' do
new_text = "Test file for unzip task"
changed_file = File.join(ZipTestData.output_folder, 'files', 'testfile.txt')
File.open(changed_file, 'a') { |f| f.write(new_text) }
unzip = Unzip.new
unzip.file = File.join(ZipTestData.folder, 'test.zip')
unzip.destination = ZipTestData.output_folder
unzip.force = true
unzip.execute
File.exist?(changed_file).should be_true
File.open(changed_file).grep(/#{new_text}/).count.should be == 0
end
end