spec/rake/funnel/support/zipper_spec.rb in rake-funnel-0.3.2.pre vs spec/rake/funnel/support/zipper_spec.rb in rake-funnel-0.4.0.pre
- old
+ new
@@ -1,77 +1,77 @@
-include Rake::Funnel::Support
-
-describe Rake::Funnel::Support::Zipper do
- describe '#zip' do
- let(:source) { %w(bin/1 bin/2 bin/3/4) }
-
- context 'failure' do
- context 'target not defined' do
- let(:target) { nil }
-
- it 'should fail' do
- expect { described_class.zip(source, target) }.to raise_error(/Target not defined/)
- end
- end
- end
-
- context 'success' do
- let(:target) { 'some path/file.zip' }
- let(:zip_root) { nil }
- let(:zip) { instance_double(::Zip::File).as_null_object }
- let(:mtime) { Time.new(2015, 3, 9) }
- let(:zip_entry) { double(::Zip::Entry).as_null_object }
-
- before {
- allow(RakeFileUtils).to receive(:mkdir_p)
- }
-
- before {
- allow(::Zip::File).to receive(:open).with(target, ::Zip::File::CREATE).and_yield(zip)
- allow(zip).to receive(:add).and_return(zip_entry)
- allow(File).to receive(:mtime).and_return(mtime)
- }
-
- before {
- described_class.zip(source, target, zip_root)
- }
-
- it 'should create the target directory' do
- expect(RakeFileUtils).to have_received(:mkdir_p).with(File.dirname(target))
- end
-
- describe 'configuration' do
- it 'should allow unicode names' do
- expect(::Zip.unicode_names).to eq(true)
- end
-
- it 'should use best compression' do
- expect(::Zip.default_compression).to eq(Zlib::BEST_COMPRESSION)
- end
- end
-
- describe 'work-around for https://github.com/rubyzip/rubyzip/issues/176' do
- it 'should explicitly set the file mtime' do
- expect(zip_entry).to have_received(:time=).with(mtime).exactly(source.length).times
- end
- end
-
- describe 'common path' do
- it 'should remove the common path from the source' do
- expect(zip).not_to have_received(:add).with(/#{source.common_path}/, anything)
- end
- end
-
- describe 'zip root' do
- [nil, '', 'some path/inside the zip file'].each do |root|
- context "with '#{root || 'nil'}'" do
- let(:zip_root) { root }
-
- it "should put files below #{(root.nil? || root.empty?) ? 'the root' : "'#{root}'"}" do
- expect(zip).to have_received(:add).with(/^#{root}/, anything).exactly(source.length).times
- end
- end
- end
- end
- end
- end
-end
+include Rake::Funnel::Support
+
+describe Rake::Funnel::Support::Zipper do
+ describe '#zip' do
+ let(:source) { %w(bin/1 bin/2 bin/3/4) }
+
+ context 'failure' do
+ context 'target not defined' do
+ let(:target) { nil }
+
+ it 'should fail' do
+ expect { described_class.zip(source, target) }.to raise_error(/Target not defined/)
+ end
+ end
+ end
+
+ context 'success' do
+ let(:target) { 'some path/file.zip' }
+ let(:zip_root) { nil }
+ let(:zip) { instance_double(::Zip::File).as_null_object }
+ let(:mtime) { Time.new(2015, 3, 9) }
+ let(:zip_entry) { double(::Zip::Entry).as_null_object }
+
+ before {
+ allow(RakeFileUtils).to receive(:mkdir_p)
+ }
+
+ before {
+ allow(::Zip::File).to receive(:open).with(target, ::Zip::File::CREATE).and_yield(zip)
+ allow(zip).to receive(:add).and_return(zip_entry)
+ allow(File).to receive(:mtime).and_return(mtime)
+ }
+
+ before {
+ described_class.zip(source, target, zip_root)
+ }
+
+ it 'should create the target directory' do
+ expect(RakeFileUtils).to have_received(:mkdir_p).with(File.dirname(target))
+ end
+
+ describe 'configuration' do
+ it 'should allow unicode names' do
+ expect(::Zip.unicode_names).to eq(true)
+ end
+
+ it 'should use best compression' do
+ expect(::Zip.default_compression).to eq(Zlib::BEST_COMPRESSION)
+ end
+ end
+
+ describe 'work-around for https://github.com/rubyzip/rubyzip/issues/176' do
+ it 'should explicitly set the file mtime' do
+ expect(zip_entry).to have_received(:time=).with(mtime).exactly(source.length).times
+ end
+ end
+
+ describe 'common path' do
+ it 'should remove the common path from the source' do
+ expect(zip).not_to have_received(:add).with(/#{source.common_path}/, anything)
+ end
+ end
+
+ describe 'zip root' do
+ [nil, '', 'some path/inside the zip file'].each do |root|
+ context "with '#{root || 'nil'}'" do
+ let(:zip_root) { root }
+
+ it "should put files below #{(root.nil? || root.empty?) ? 'the root' : "'#{root}'"}" do
+ expect(zip).to have_received(:add).with(/^#{root}/, anything).exactly(source.length).times
+ end
+ end
+ end
+ end
+ end
+ end
+end