From 6d96008b8bd52eb65ae87dff3ebcaaa1f0c0160a Mon Sep 17 00:00:00 2001
From: Robert Haines
Date: Thu, 18 Oct 2018 23:49:54 +0100
Subject: [PATCH 1/2] Switch from test/unit to minitest.
---
Rakefile | 2 +-
test/{tc_create_dir.rb => create_dir_test.rb} | 15 +-
...{tc_create_file.rb => create_file_test.rb} | 103 +++---
test/{tc_exceptions.rb => exceptions_test.rb} | 37 +-
...ged_entries.rb => managed_entries_test.rb} | 321 ++++++++----------
test/{tc_read_dir.rb => read_dir_test.rb} | 31 +-
test/{tc_read_file.rb => read_file_test.rb} | 73 ++--
...served_names.rb => reserved_names_test.rb} | 77 ++---
test/{ts_container.rb => test_helper.rb} | 37 +-
test/{tc_util.rb => util_test.rb} | 5 +-
zip-container.gemspec | 2 +-
11 files changed, 298 insertions(+), 405 deletions(-)
rename test/{tc_create_dir.rb => create_dir_test.rb} (81%)
rename test/{tc_create_file.rb => create_file_test.rb} (52%)
rename test/{tc_exceptions.rb => exceptions_test.rb} (78%)
rename test/{tc_managed_entries.rb => managed_entries_test.rb} (50%)
rename test/{tc_read_dir.rb => read_dir_test.rb} (76%)
rename test/{tc_read_file.rb => read_file_test.rb} (55%)
rename test/{tc_reserved_names.rb => reserved_names_test.rb} (83%)
rename test/{ts_container.rb => test_helper.rb} (71%)
rename test/{tc_util.rb => util_test.rb} (96%)
diff --git a/Rakefile b/Rakefile
index 55e188b..a94e366 100644
--- a/Rakefile
+++ b/Rakefile
@@ -39,7 +39,7 @@ task default: :test
Rake::TestTask.new do |t|
t.libs << 'test'
- t.test_files = FileList['test/ts_container.rb']
+ t.test_files = FileList['test/**/*_test.rb']
t.verbose = true
end
diff --git a/test/tc_create_dir.rb b/test/create_dir_test.rb
similarity index 81%
rename from test/tc_create_dir.rb
rename to test/create_dir_test.rb
index 5c0bb6c..2717f5e 100644
--- a/test/tc_create_dir.rb
+++ b/test/create_dir_test.rb
@@ -30,25 +30,20 @@
#
# Author: Robert Haines
-require 'test/unit'
+require 'test_helper'
require 'tmpdir'
-require 'zip-container'
-class TestCreateDir < Test::Unit::TestCase
+class TestCreateDir < MiniTest::Test
def test_create_container
Dir.mktmpdir do |dir|
container = File.join(dir, 'empty.container')
- assert_nothing_raised do
- ZipContainer::Dir.create(container, $mimetype) do
- assert File.exist?(File.join(container, 'mimetype'))
- end
+ ZipContainer::Dir.create(container, TEST_MIMETYPE) do
+ assert File.exist?(File.join(container, 'mimetype'))
end
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::Dir.verify!(container)
- end
+ ZipContainer::Dir.verify!(container)
end
end
end
diff --git a/test/tc_create_file.rb b/test/create_file_test.rb
similarity index 52%
rename from test/tc_create_file.rb
rename to test/create_file_test.rb
index 5c1be06..4a5990a 100644
--- a/test/tc_create_file.rb
+++ b/test/create_file_test.rb
@@ -30,29 +30,24 @@
#
# Author: Robert Haines
-require 'test/unit'
+require 'test_helper'
require 'tmpdir'
-require 'zip-container'
-class TestCreateFile < Test::Unit::TestCase
+class TestCreateFile < MiniTest::Test
# Check creation of standard empty container files.
def test_create_standard_file
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ZipContainer::File.create(filename, $mimetype) do |c|
- assert(c.on_disk?)
- refute(c.in_memory?)
+ ZipContainer::File.create(filename, TEST_MIMETYPE) do |c|
+ assert(c.on_disk?)
+ refute(c.in_memory?)
- assert(c.find_entry('mimetype').local_header_offset.zero?)
- end
+ assert(c.find_entry('mimetype').local_header_offset.zero?)
end
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::File.verify!(filename)
- end
+ ZipContainer::File.verify!(filename)
end
end
@@ -63,18 +58,14 @@ def test_create_mimetype_file
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ZipContainer::File.create(filename, mimetype) do |c|
- assert(c.on_disk?)
- refute(c.in_memory?)
+ ZipContainer::File.create(filename, mimetype) do |c|
+ assert(c.on_disk?)
+ refute(c.in_memory?)
- assert(c.find_entry('mimetype').local_header_offset.zero?)
- end
+ assert(c.find_entry('mimetype').local_header_offset.zero?)
end
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::File.verify!(filename)
- end
+ ZipContainer::File.verify!(filename)
end
end
@@ -84,55 +75,51 @@ def test_create_contents_file
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ZipContainer::File.create(filename, $mimetype) do |c|
- assert(c.on_disk?)
- refute(c.in_memory?)
+ ZipContainer::File.create(filename, TEST_MIMETYPE) do |c|
+ assert(c.on_disk?)
+ refute(c.in_memory?)
- c.file.open('test.txt', 'w') do |f|
- f.print 'testing'
- end
+ c.file.open('test.txt', 'w') do |f|
+ f.print 'testing'
+ end
- assert(c.commit_required?)
- assert(c.commit)
- refute(c.commit_required?)
- refute(c.commit)
+ assert(c.commit_required?)
+ assert(c.commit)
+ refute(c.commit_required?)
+ refute(c.commit)
- c.dir.mkdir('dir1')
- c.mkdir('dir2')
+ c.dir.mkdir('dir1')
+ c.mkdir('dir2')
- assert(c.commit_required?)
- assert(c.commit)
- refute(c.commit_required?)
- refute(c.commit)
+ assert(c.commit_required?)
+ assert(c.commit)
+ refute(c.commit_required?)
+ refute(c.commit)
- c.comment = 'A comment!'
+ c.comment = 'A comment!'
- assert(c.commit_required?)
- assert(c.commit)
- refute(c.commit_required?)
- refute(c.commit)
- end
+ assert(c.commit_required?)
+ assert(c.commit)
+ refute(c.commit_required?)
+ refute(c.commit)
end
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::File.open(filename) do |c|
- assert(c.on_disk?)
- refute(c.in_memory?)
+ ZipContainer::File.open(filename) do |c|
+ assert(c.on_disk?)
+ refute(c.in_memory?)
- assert(c.file.exists?('test.txt'))
- assert(c.file.exists?('dir1'))
- assert(c.file.exists?('dir2'))
- refute(c.file.exists?('dir3'))
+ assert(c.file.exists?('test.txt'))
+ assert(c.file.exists?('dir1'))
+ assert(c.file.exists?('dir2'))
+ refute(c.file.exists?('dir3'))
- text = c.file.read('test.txt')
- assert_equal('testing', text)
+ text = c.file.read('test.txt')
+ assert_equal('testing', text)
- assert_equal('A comment!', c.comment)
+ assert_equal('A comment!', c.comment)
- refute(c.commit_required?)
- refute(c.commit)
- end
+ refute(c.commit_required?)
+ refute(c.commit)
end
end
end
diff --git a/test/tc_exceptions.rb b/test/exceptions_test.rb
similarity index 78%
rename from test/tc_exceptions.rb
rename to test/exceptions_test.rb
index 31e471f..0978c8e 100644
--- a/test/tc_exceptions.rb
+++ b/test/exceptions_test.rb
@@ -30,58 +30,45 @@
#
# Author: Robert Haines
-require 'test/unit'
-require 'zip-container'
+require 'test_helper'
-class TestExceptions < Test::Unit::TestCase
+class TestExceptions < MiniTest::Test
def test_rescue_container_errors
- assert_raise(ZipContainer::Error) do
+ assert_raises(ZipContainer::Error) do
raise ZipContainer::ZipError
end
- assert_raise(ZipContainer::Error) do
+ assert_raises(ZipContainer::Error) do
raise ZipContainer::MalformedContainerError
end
- assert_raise(ZipContainer::Error) do
+ assert_raises(ZipContainer::Error) do
raise ZipContainer::ReservedNameClashError, 'test'
end
- assert_raise(ZipContainer::Error) do
+ assert_raises(ZipContainer::Error) do
raise Zip::ZipError
end
end
def test_malformed_container_error_nil
- mce = nil
-
- assert_nothing_raised do
- mce = ZipContainer::MalformedContainerError.new(nil)
- end
+ mce = ZipContainer::MalformedContainerError.new(nil)
refute mce.message.empty?
refute mce.message.include?(':')
end
def test_malformed_container_error_empty_string
- mce = nil
-
- assert_nothing_raised do
- mce = ZipContainer::MalformedContainerError.new('')
- end
+ mce = ZipContainer::MalformedContainerError.new('')
refute mce.message.empty?
refute mce.message.include?(':')
end
def test_malformed_container_error_string
- mce = nil
message = 'test'
-
- assert_nothing_raised do
- mce = ZipContainer::MalformedContainerError.new(message)
- end
+ mce = ZipContainer::MalformedContainerError.new(message)
refute mce.message.empty?
assert mce.message.include?(':')
@@ -89,12 +76,8 @@ def test_malformed_container_error_string
end
def test_malformed_container_error_list
- mce = nil
message = %w[test1 test2]
-
- assert_nothing_raised do
- mce = ZipContainer::MalformedContainerError.new(message)
- end
+ mce = ZipContainer::MalformedContainerError.new(message)
refute mce.message.empty?
assert mce.message.include?(':')
diff --git a/test/tc_managed_entries.rb b/test/managed_entries_test.rb
similarity index 50%
rename from test/tc_managed_entries.rb
rename to test/managed_entries_test.rb
index 57e456c..745e962 100644
--- a/test/tc_managed_entries.rb
+++ b/test/managed_entries_test.rb
@@ -30,9 +30,8 @@
#
# Author: Robert Haines
-require 'test/unit'
+require 'test_helper'
require 'tmpdir'
-require 'zip-container'
require 'helpers/entry_lists'
# Classes to test managed entries.
@@ -119,36 +118,32 @@ def initialize(filename)
end
end
-class TestManagedEntries < Test::Unit::TestCase
+class TestManagedEntries < MiniTest::Test
# Check that the example ZipContainer file does not validate as a
# ManagedZipContainer.
def test_fail_verification
- refute(ManagedZipContainer.verify?($example))
+ refute(ManagedZipContainer.verify?(EXAMPLE))
assert_raises(ZipContainer::MalformedContainerError) do
- ManagedZipContainer.verify!($example)
+ ManagedZipContainer.verify!(EXAMPLE)
end
end
# Check that the example ZipContainer file does validate as an
# ExampleZipContainer.
def test_pass_verification
- assert(ExampleZipContainer.verify?($example))
+ assert(ExampleZipContainer.verify?(EXAMPLE))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ExampleZipContainer.verify!($example)
- end
+ ExampleZipContainer.verify!(EXAMPLE)
end
# Check that the example ZipContainer file does validate as an
# ExampleZipContainer2.
def test_pass_verification_2
- assert(ExampleZipContainer2.verify?($example))
+ assert(ExampleZipContainer2.verify?(EXAMPLE))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ExampleZipContainer2.verify!($example)
- end
+ ExampleZipContainer2.verify!(EXAMPLE)
end
# Check that a standard Container can be created
@@ -156,29 +151,23 @@ def test_create_standard_container
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ZipContainer::File.create(filename, $mimetype) do |c|
- c.mkdir('META-INF')
- assert(c.file.exists?('META-INF'))
+ ZipContainer::File.create(filename, TEST_MIMETYPE) do |c|
+ c.mkdir('META-INF')
+ assert(c.file.exists?('META-INF'))
- c.file.open('META-INF/container.xml', 'w') do |f|
- f.puts ''
- end
- assert(c.file.exists?('META-INF/container.xml'))
+ c.file.open('META-INF/container.xml', 'w') do |f|
+ f.puts ''
end
+ assert(c.file.exists?('META-INF/container.xml'))
end
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ZipContainer::File.verify!(filename)
- end
+ ZipContainer::File.verify!(filename)
end
end
# Check that a subclassed container with managed files verifies correctly.
def test_verify_subclassed_dir_container
- assert_nothing_raised do
- ExampleDirContainer.verify!($dir_managed)
- end
+ ExampleDirContainer.verify!(DIR_MANAGED)
end
# Create a subclassed container. Check it doesn't verify at first; satisfy
@@ -187,21 +176,17 @@ def test_create_subclassed_dir_container
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ExampleDirContainer.create(filename, $mimetype) do |c|
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
-
- Dir.mkdir(File.join(filename, 'dir'))
- File.open(File.join(filename, 'greeting.txt'), 'w') do |f|
- f.puts 'Yo means hello.'
- end
+ ExampleDirContainer.create(filename, TEST_MIMETYPE) do |c|
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
+ end
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ Dir.mkdir(File.join(filename, 'dir'))
+ File.open(File.join(filename, 'greeting.txt'), 'w') do |f|
+ f.puts 'Yo means hello.'
end
+
+ c.verify
end
end
end
@@ -212,11 +197,9 @@ def test_create_bad_subclassed_container
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ManagedZipContainer.create(filename, $mimetype) do |c|
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ ManagedZipContainer.create(filename, TEST_MIMETYPE) do |c|
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
end
end
@@ -233,121 +216,107 @@ def test_create_subclassed_container
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ManagedZipContainer.create(filename, $mimetype) do |c|
- c.dir.mkdir('src')
- c.file.open('index.html', 'w') do |f|
- f.puts ''
- end
-
- # Test hidden entries before and after creation.
- assert_nil(c.find_entry('test', include_hidden: true))
- assert_nil(c.find_entry('test/test.txt', include_hidden: true))
- c.dir.mkdir('test')
- c.file.open('test/test.txt', 'w') do |f|
- f.puts 'A test!'
- end
- assert_not_nil(c.find_entry('test', include_hidden: true))
- assert_not_nil(c.find_entry('test/test.txt', include_hidden: true))
-
- # Test deep hidden entries before and after creation.
- assert_nil(c.find_entry('test/deep', include_hidden: true))
- assert_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
- c.dir.mkdir('test/deep')
- c.file.open('test/deep/deep.txt', 'w') do |f|
- f.puts 'A deep test!'
- end
- assert_not_nil(c.find_entry('test/deep', include_hidden: true))
- assert_not_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
+ ManagedZipContainer.create(filename, TEST_MIMETYPE) do |c|
+ c.dir.mkdir('src')
+ c.file.open('index.html', 'w') do |f|
+ f.puts '
'
+ end
+
+ # Test hidden entries before and after creation.
+ assert_nil(c.find_entry('test', include_hidden: true))
+ assert_nil(c.find_entry('test/test.txt', include_hidden: true))
+ c.dir.mkdir('test')
+ c.file.open('test/test.txt', 'w') do |f|
+ f.puts 'A test!'
+ end
+ refute_nil(c.find_entry('test', include_hidden: true))
+ refute_nil(c.find_entry('test/test.txt', include_hidden: true))
+
+ # Test deep hidden entries before and after creation.
+ assert_nil(c.find_entry('test/deep', include_hidden: true))
+ assert_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
+ c.dir.mkdir('test/deep')
+ c.file.open('test/deep/deep.txt', 'w') do |f|
+ f.puts 'A deep test!'
end
+ refute_nil(c.find_entry('test/deep', include_hidden: true))
+ refute_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
end
assert(ManagedZipContainer.verify?(filename))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ManagedZipContainer.verify!(filename)
- end
+ ManagedZipContainer.verify!(filename)
end
end
def test_hidden_entries
- assert_nothing_raised do
- ManagedZipContainer.open($subclass) do |c|
- refute(c.hidden_entry?('src'))
- refute(c.hidden_file?('src'))
- refute(c.hidden_directory?('src'))
-
- assert(c.hidden_entry?('test'))
- assert(c.hidden_directory?('test'))
- assert(c.hidden_entry?('test/'))
- assert(c.hidden_directory?('test/'))
- refute(c.hidden_file?('test'))
-
- assert(c.hidden_entry?('test/deep'))
- assert(c.hidden_directory?('test/deep'))
- assert(c.hidden_entry?('test/deep/deep.txt'))
- assert(c.hidden_file?('test/deep/deep.txt'))
- end
+ ManagedZipContainer.open(SUBCLASS) do |c|
+ refute(c.hidden_entry?('src'))
+ refute(c.hidden_file?('src'))
+ refute(c.hidden_directory?('src'))
+
+ assert(c.hidden_entry?('test'))
+ assert(c.hidden_directory?('test'))
+ assert(c.hidden_entry?('test/'))
+ assert(c.hidden_directory?('test/'))
+ refute(c.hidden_file?('test'))
+
+ assert(c.hidden_entry?('test/deep'))
+ assert(c.hidden_directory?('test/deep'))
+ assert(c.hidden_entry?('test/deep/deep.txt'))
+ assert(c.hidden_file?('test/deep/deep.txt'))
end
end
def test_find_entry
- assert_nothing_raised do
- ManagedZipContainer.open($subclass) do |c|
- assert_not_nil(c.find_entry('src'))
- assert_not_nil(c.find_entry('src', include_hidden: true))
-
- assert_nil(c.find_entry('test'))
- assert_nil(c.find_entry('test/test.txt'))
- assert_not_nil(c.find_entry('test', include_hidden: true))
- assert_not_nil(c.find_entry('test/test.txt', include_hidden: true))
-
- assert_nil(c.find_entry('test/deep'))
- assert_nil(c.find_entry('test/deep/deep.txt'))
- assert_not_nil(c.find_entry('test/deep', include_hidden: true))
- assert_not_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
- end
+ ManagedZipContainer.open(SUBCLASS) do |c|
+ refute_nil(c.find_entry('src'))
+ refute_nil(c.find_entry('src', include_hidden: true))
+
+ assert_nil(c.find_entry('test'))
+ assert_nil(c.find_entry('test/test.txt'))
+ refute_nil(c.find_entry('test', include_hidden: true))
+ refute_nil(c.find_entry('test/test.txt', include_hidden: true))
+
+ assert_nil(c.find_entry('test/deep'))
+ assert_nil(c.find_entry('test/deep/deep.txt'))
+ refute_nil(c.find_entry('test/deep', include_hidden: true))
+ refute_nil(c.find_entry('test/deep/deep.txt', include_hidden: true))
end
end
def test_get_entry
- ManagedZipContainer.open($subclass) do |c|
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('src')
- end
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('src', include_hidden: true)
- end
+ ManagedZipContainer.open(SUBCLASS) do |c|
+ c.get_entry('src')
+ c.get_entry('src', include_hidden: true)
- assert_raise(Errno::ENOENT) do
+ assert_raises(Errno::ENOENT) do
c.get_entry('test')
end
- assert_raise(Errno::ENOENT) do
+
+ assert_raises(Errno::ENOENT) do
c.get_entry('test/test.txt')
end
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('test', include_hidden: true)
- end
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('test/test.txt', include_hidden: true)
- end
- assert_raise(Errno::ENOENT) do
+ c.get_entry('test', include_hidden: true)
+
+ c.get_entry('test/test.txt', include_hidden: true)
+
+ assert_raises(Errno::ENOENT) do
c.get_entry('test/deep')
end
- assert_raise(Errno::ENOENT) do
+
+ assert_raises(Errno::ENOENT) do
c.get_entry('test/deep/deep.txt')
end
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('test/deep', include_hidden: true)
- end
- assert_nothing_raised(Errno::ENOENT) do
- c.get_entry('test/deep/deep.txt', include_hidden: true)
- end
+
+ c.get_entry('test/deep', include_hidden: true)
+
+ c.get_entry('test/deep/deep.txt', include_hidden: true)
end
end
def test_glob
- ManagedZipContainer.open($subclass) do |c|
+ ManagedZipContainer.open(SUBCLASS) do |c|
assert_equal(['index.html'], entry_list_names(c.glob('in*')))
assert_equal([], c.glob('test/**/*'))
assert_equal(
@@ -366,11 +335,9 @@ def test_create_subclassed_mimetype
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ExampleZipContainer2.create(filename) do |c|
- assert(c.file.exists?('mimetype'))
- assert_equal('application/example+zip', c.file.read('mimetype'))
- end
+ ExampleZipContainer2.create(filename) do |c|
+ assert(c.file.exists?('mimetype'))
+ assert_equal('application/example+zip', c.file.read('mimetype'))
end
end
end
@@ -381,34 +348,28 @@ def test_create_subclassed_container_with_content_verification
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ExampleZipContainer2.create(filename) do |c|
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
-
- c.file.open('greeting.txt', 'w') do |f|
- f.puts 'Goodbye!'
- end
+ ExampleZipContainer2.create(filename) do |c|
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
+ end
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ c.file.open('greeting.txt', 'w') do |f|
+ f.puts 'Goodbye!'
+ end
- c.file.open('greeting.txt', 'w') do |f|
- f.puts "Hello, Y'All!"
- end
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
+ end
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ c.file.open('greeting.txt', 'w') do |f|
+ f.puts "Hello, Y'All!"
end
+
+ c.verify!
end
assert(ExampleZipContainer2.verify?(filename))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ExampleZipContainer2.verify!(filename)
- end
+ ExampleZipContainer2.verify!(filename)
end
end
@@ -418,43 +379,35 @@ def test_create_subclassed_container_with_deep_content_verification
Dir.mktmpdir do |dir|
filename = File.join(dir, 'test.container')
- assert_nothing_raised do
- ExampleZipContainer2.create(filename) do |c|
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
-
- c.file.open('greeting.txt', 'w') do |f|
- f.puts "Hello, Y'All!"
- end
+ ExampleZipContainer2.create(filename) do |c|
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
+ end
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ c.file.open('greeting.txt', 'w') do |f|
+ f.puts "Hello, Y'All!"
+ end
- c.mkdir('dir')
- c.file.open('dir/greet.txt', 'w') do |f|
- f.puts 'Goodbye!'
- end
+ c.verify!
- assert_raises(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ c.mkdir('dir')
+ c.file.open('dir/greet.txt', 'w') do |f|
+ f.puts 'Goodbye!'
+ end
- c.file.open('dir/greet.txt', 'w') do |f|
- f.puts 'hello everyone.'
- end
+ assert_raises(ZipContainer::MalformedContainerError) do
+ c.verify!
+ end
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- c.verify!
- end
+ c.file.open('dir/greet.txt', 'w') do |f|
+ f.puts 'hello everyone.'
end
+
+ c.verify!
end
assert(ExampleZipContainer2.verify?(filename))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ExampleZipContainer2.verify!(filename)
- end
+ ExampleZipContainer2.verify!(filename)
end
end
end
diff --git a/test/tc_read_dir.rb b/test/read_dir_test.rb
similarity index 76%
rename from test/tc_read_dir.rb
rename to test/read_dir_test.rb
index c2391d6..e8a8d20 100644
--- a/test/tc_read_dir.rb
+++ b/test/read_dir_test.rb
@@ -30,40 +30,37 @@
#
# Author: Robert Haines
-require 'test/unit'
+require 'test_helper'
require 'tmpdir'
-require 'zip-container'
-class TestReadDir < Test::Unit::TestCase
+class TestReadDir < MiniTest::Test
# Check that the empty directory does not verify.
def test_verify_empty_directory
- assert_raise(ZipContainer::MalformedContainerError) do
- ZipContainer::Dir.verify!($dir_null)
+ assert_raises(ZipContainer::MalformedContainerError) do
+ ZipContainer::Dir.verify!(DIR_NULL)
end
- refute(ZipContainer::Dir.verify($dir_null).empty?)
- refute(ZipContainer::Dir.verify?($dir_null))
+ refute(ZipContainer::Dir.verify(DIR_NULL).empty?)
+ refute(ZipContainer::Dir.verify?(DIR_NULL))
end
# Check that the empty container directory does verify.
def test_verify_empty_container
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- ZipContainer::Dir.verify!($dir_empty)
- end
+ ZipContainer::Dir.verify!(DIR_EMPTY)
- assert(ZipContainer::Dir.verify($dir_empty).empty?)
- assert(ZipContainer::Dir.verify?($dir_empty))
+ assert(ZipContainer::Dir.verify(DIR_EMPTY).empty?)
+ assert(ZipContainer::Dir.verify?(DIR_EMPTY))
end
# Check that a mimetype entry that is a directory does not verify.
def test_verify_mimetype_directory
- assert_raise(ZipContainer::MalformedContainerError) do
- ZipContainer::Dir.verify!($dir_dir_mimetype)
+ assert_raises(ZipContainer::MalformedContainerError) do
+ ZipContainer::Dir.verify!(DIR_DIR_MIMETYPE)
end
- refute(ZipContainer::Dir.verify($dir_dir_mimetype).empty?)
- refute(ZipContainer::Dir.verify?($dir_dir_mimetype))
+ refute(ZipContainer::Dir.verify(DIR_DIR_MIMETYPE).empty?)
+ refute(ZipContainer::Dir.verify?(DIR_DIR_MIMETYPE))
end
# Check that a mimetype which is not readable does not verify. We have to
@@ -78,7 +75,7 @@ def test_verify_unreadable_mimetype
File.chmod(0o0000, mime_path)
refute File.readable?(mime_path)
- assert_raise(ZipContainer::MalformedContainerError) do
+ assert_raises(ZipContainer::MalformedContainerError) do
ZipContainer::Dir.verify!(container)
end
diff --git a/test/tc_read_file.rb b/test/read_file_test.rb
similarity index 55%
rename from test/tc_read_file.rb
rename to test/read_file_test.rb
index 3a2c07f..325d3b6 100644
--- a/test/tc_read_file.rb
+++ b/test/read_file_test.rb
@@ -30,88 +30,83 @@
#
# Author: Robert Haines
-require 'test/unit'
-require 'zip-container'
+require 'test_helper'
-class TestReadFile < Test::Unit::TestCase
+class TestReadFile < MiniTest::Test
# Check that the null file does not verify.
def test_verify_null_file
- assert_raise(ZipContainer::ZipError) do
- ZipContainer::File.verify($file_null)
+ assert_raises(ZipContainer::ZipError) do
+ ZipContainer::File.verify(FILE_NULL)
end
- assert_raise(ZipContainer::ZipError) do
- ZipContainer::File.verify!($file_null)
+ assert_raises(ZipContainer::ZipError) do
+ ZipContainer::File.verify!(FILE_NULL)
end
- assert_raise(ZipContainer::ZipError) do
- ZipContainer::File.verify?($file_null)
+ assert_raises(ZipContainer::ZipError) do
+ ZipContainer::File.verify?(FILE_NULL)
end
end
# Check that the empty container file does verify.
def test_verify_empty_container
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::File.verify!($empty)
- end
+ ZipContainer::File.verify!(EMPTY_CONT)
- assert(ZipContainer::File.verify($empty).empty?)
- assert(ZipContainer::File.verify?($empty))
+ assert(ZipContainer::File.verify(EMPTY_CONT).empty?)
+ assert(ZipContainer::File.verify?(EMPTY_CONT))
end
# Check that the empty zip file does not verify.
def test_verify_empty_zip
- assert_raise(ZipContainer::MalformedContainerError) do
- ZipContainer::File.verify!($empty_zip)
+ assert_raises(ZipContainer::MalformedContainerError) do
+ ZipContainer::File.verify!(EMPTY_ZIP)
end
- refute(ZipContainer::File.verify($empty_zip).empty?)
- refute(ZipContainer::File.verify?($empty_zip))
+ refute(ZipContainer::File.verify(EMPTY_ZIP).empty?)
+ refute(ZipContainer::File.verify?(EMPTY_ZIP))
end
# Check that a compressed mimetype file is detected.
def test_verify_compressed_mimetype
- assert_raise(ZipContainer::MalformedContainerError) do
- ZipContainer::File.verify!($compressed_mimetype)
+ assert_raises(ZipContainer::MalformedContainerError) do
+ ZipContainer::File.verify!(COMPRESSED_MIMETYPE)
end
- refute(ZipContainer::File.verify($compressed_mimetype).empty?)
- refute(ZipContainer::File.verify?($compressed_mimetype))
+ refute(ZipContainer::File.verify(COMPRESSED_MIMETYPE).empty?)
+ refute(ZipContainer::File.verify?(COMPRESSED_MIMETYPE))
end
# Check the raw mimetype bytes
def test_raw_mimetypes
- empty_container = File.read($empty)
+ empty_container = File.read(EMPTY_CONT)
assert_equal('application/epub+zip', empty_container[38..57])
- compressed_mimetype = File.read($compressed_mimetype)
- assert_not_equal('application/epub+zip', compressed_mimetype[38..57])
+ compressed_mimetype = File.read(COMPRESSED_MIMETYPE)
+ refute_equal('application/epub+zip', compressed_mimetype[38..57])
end
# Check reading files out of a container file and make sure we don't change
# it.
def test_read_files_from_container
- assert_nothing_raised(ZipContainer::MalformedContainerError, ZipContainer::ZipError) do
- ZipContainer::File.open($example) do |c|
- assert(c.on_disk?)
- refute(c.in_memory?)
+ ZipContainer::File.open(EXAMPLE) do |c|
+ assert(c.on_disk?)
+ refute(c.in_memory?)
- assert(c.file.exists?('greeting.txt'))
+ assert(c.file.exists?('greeting.txt'))
- greeting = c.file.read('greeting.txt')
- assert_equal("Hello, World!\n", greeting)
+ greeting = c.file.read('greeting.txt')
+ assert_equal("Hello, World!\n", greeting)
- assert(c.file.exists?('dir'))
- assert(c.file.directory?('dir'))
+ assert(c.file.exists?('dir'))
+ assert(c.file.directory?('dir'))
- assert(c.file.exists?('dir/code.rb'))
+ assert(c.file.exists?('dir/code.rb'))
- assert_equal('This is an example Container file!', c.comment)
+ assert_equal('This is an example Container file!', c.comment)
- refute(c.commit_required?)
- refute(c.commit)
- end
+ refute(c.commit_required?)
+ refute(c.commit)
end
end
end
diff --git a/test/tc_reserved_names.rb b/test/reserved_names_test.rb
similarity index 83%
rename from test/tc_reserved_names.rb
rename to test/reserved_names_test.rb
index 3a231b4..0395c38 100644
--- a/test/tc_reserved_names.rb
+++ b/test/reserved_names_test.rb
@@ -30,8 +30,7 @@
#
# Author: Robert Haines
-require 'test/unit'
-require 'zip-container'
+require 'test_helper'
# A class to test the overriding of reserved and managed names.
class NewZipContainer < ZipContainer::File
@@ -51,21 +50,19 @@ def initialize(filename)
end
end
-class TestReservedNames < Test::Unit::TestCase
+class TestReservedNames < MiniTest::Test
# Check that the reserved names verify correctly.
def test_verify_reserved_name
- assert(NewZipContainer.verify?($example))
+ assert(NewZipContainer.verify?(EXAMPLE))
- assert_nothing_raised(ZipContainer::MalformedContainerError) do
- NewZipContainer.verify!($example)
- end
+ NewZipContainer.verify!(EXAMPLE)
end
# Check the reserved names stuff all works correctly, baring in mind that
# such comparisons for ZipContainer file should be case sensitive.
def test_reserved_names
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert_equal(1, c.reserved_names.length)
assert_equal(['mimetype'], c.reserved_names)
@@ -87,7 +84,7 @@ def test_reserved_names
# Check that overriding the reserved names in a sub-class works correctly
def test_subclass_reserved_names
- NewZipContainer.open($example) do |c|
+ NewZipContainer.open(EXAMPLE) do |c|
assert_equal(3, c.reserved_names.length)
assert_equal(
['mimetype', 'META-INF', 'reserved_dir'], c.reserved_names
@@ -131,7 +128,7 @@ def test_subclass_reserved_names
# Check that nothing happens when trying to delete the mimetype file.
def test_delete_mimetype
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert(c.file.exists?('mimetype'))
assert_nil(c.remove('mimetype'))
assert(c.file.exists?('mimetype'))
@@ -140,7 +137,7 @@ def test_delete_mimetype
# Check that nothing happens when trying to rename the mimetype file.
def test_rename_mimetype
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert(c.file.exists?('mimetype'))
assert_nil(c.rename('mimetype', 'something-else'))
assert(c.file.exists?('mimetype'))
@@ -151,9 +148,9 @@ def test_rename_mimetype
# Check that nothing happens when trying to replace the contents of the
# mimetype file.
def test_replace_mimetype
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert(c.file.exists?('mimetype'))
- assert_nil(c.replace('mimetype', $zip_empty))
+ assert_nil(c.replace('mimetype', EMPTY_ZIP))
assert_equal('application/epub+zip', c.file.read('mimetype'))
end
end
@@ -161,9 +158,9 @@ def test_replace_mimetype
# Check that an exception is raised when trying to add file with a reserved
# name.
def test_add_reserved
- ZipContainer::File.open($empty) do |c|
+ ZipContainer::File.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
- c.add('mimetype', $zip_empty)
+ c.add('mimetype', EMPTY_ZIP)
end
end
end
@@ -171,21 +168,21 @@ def test_add_reserved
# Check that an exception is raised when trying to add file with a reserved
# name to a subclassed container.
def test_subclass_add_reserved
- NewZipContainer.open($empty) do |c|
+ NewZipContainer.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
- c.add('mimetype', $zip_empty)
+ c.add('mimetype', EMPTY_ZIP)
end
assert_raises(ZipContainer::ReservedNameClashError) do
- c.add('reserved_dir', $zip_empty)
+ c.add('reserved_dir', EMPTY_ZIP)
end
assert_raises(ZipContainer::ReservedNameClashError) do
- c.add('MimeType', $zip_empty)
+ c.add('MimeType', EMPTY_ZIP)
end
assert_raises(ZipContainer::ReservedNameClashError) do
- c.add('Reserved_Dir', $zip_empty)
+ c.add('Reserved_Dir', EMPTY_ZIP)
end
end
end
@@ -193,7 +190,7 @@ def test_subclass_add_reserved
# Check that the META-INF directory is detected as non-existent when trying
# to delete it.
def test_delete_metainf
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert_raises(Errno::ENOENT) do
c.remove('META-INF')
end
@@ -203,7 +200,7 @@ def test_delete_metainf
# Check that the META-INF directory is detected as non-existent when trying
# to rename it.
def test_rename_metainf
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert_raises(Errno::ENOENT) do
c.rename('META-INF', 'something-else')
end
@@ -213,7 +210,7 @@ def test_rename_metainf
# Check that an exception is raised when trying to create a directory with a
# reserved name.
def test_mkdir_reserved
- ZipContainer::File.open($empty) do |c|
+ ZipContainer::File.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.mkdir('mimetype')
end
@@ -223,7 +220,7 @@ def test_mkdir_reserved
# Check that an exception is raised when trying to create a directory with a
# reserved name in a subclassed container.
def test_subclass_mkdir_reserved
- NewZipContainer.open($empty) do |c|
+ NewZipContainer.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.mkdir('mimetype')
end
@@ -248,7 +245,7 @@ def test_subclass_mkdir_reserved
# Check that a file cannot be renamed to one of the reserved names.
def test_rename_to_reserved
- ZipContainer::File.open($example) do |c|
+ ZipContainer::File.open(EXAMPLE) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.rename('dir/code.rb', 'mimetype')
end
@@ -258,7 +255,7 @@ def test_rename_to_reserved
# Check that a file cannot be renamed to one of the reserved names in a
# subclassed container.
def test_subclass_rename_to_reserved
- NewZipContainer.open($example) do |c|
+ NewZipContainer.open(EXAMPLE) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.rename('dir/code.rb', 'mimetype')
end
@@ -272,30 +269,26 @@ def test_subclass_rename_to_reserved
# Check that the ruby-like File and Dir classes respect reserved and managed
# names.
def test_file_dir_ops_reserved
- ZipContainer::File.open($empty) do |c|
+ ZipContainer::File.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.file.open('mimetype', 'w') do |f|
f.puts 'TESTING'
end
end
- assert_nothing_raised(ZipContainer::ReservedNameClashError) do
- c.file.open('mimetype') do |f|
- assert_equal('application/epub+zip', f.read)
- end
+ c.file.open('mimetype') do |f|
+ assert_equal('application/epub+zip', f.read)
end
- assert_nothing_raised(ZipContainer::ReservedNameClashError) do
- c.file.delete('mimetype')
- assert(c.file.exists?('mimetype'))
- end
+ c.file.delete('mimetype')
+ assert(c.file.exists?('mimetype'))
end
end
# Check that the ruby-like File and Dir classes respect reserved names in a
# subclassed container.
def test_subclass_file_dir_ops_reserved
- NewZipContainer.open($empty) do |c|
+ NewZipContainer.open(EMPTY_CONT) do |c|
assert_raises(ZipContainer::ReservedNameClashError) do
c.file.open('META-INF', 'w') do |f|
f.puts 'TESTING'
@@ -308,16 +301,12 @@ def test_subclass_file_dir_ops_reserved
end
end
- assert_nothing_raised(ZipContainer::ReservedNameClashError) do
- c.file.open('mimetype') do |f|
- assert_equal('application/epub+zip', f.read)
- end
+ c.file.open('mimetype') do |f|
+ assert_equal('application/epub+zip', f.read)
end
- assert_nothing_raised(ZipContainer::ReservedNameClashError) do
- c.file.delete('mimetype')
- assert(c.file.exists?('mimetype'))
- end
+ c.file.delete('mimetype')
+ assert(c.file.exists?('mimetype'))
assert_raises(ZipContainer::ReservedNameClashError) do
c.dir.mkdir('index.html')
diff --git a/test/ts_container.rb b/test/test_helper.rb
similarity index 71%
rename from test/ts_container.rb
rename to test/test_helper.rb
index 1c4247f..333920e 100644
--- a/test/ts_container.rb
+++ b/test/test_helper.rb
@@ -33,27 +33,22 @@
require 'coveralls'
Coveralls.wear!
+$LOAD_PATH.unshift ::File.expand_path('../lib', __dir__)
+require 'zip-container'
+
+require 'minitest/autorun'
+
# Example default mimetype
-$mimetype = 'application/epub+zip'
+TEST_MIMETYPE = 'application/epub+zip'.freeze
# Example data files
-$dir_null = 'test/data/dirs/null'
-$dir_empty = 'test/data/dirs/empty'
-$dir_dir_mimetype = 'test/data/dirs/dir-mimetype'
-$dir_managed = 'test/data/dirs/managed'
-$file_null = 'test/data/null.file'
-$empty = 'test/data/empty.container'
-$empty_zip = 'test/data/empty.zip'
-$compressed_mimetype = 'test/data/compressed_mimetype.container'
-$example = 'test/data/example.container'
-$subclass = 'test/data/subclassed.container'
-
-# Run test cases.
-require 'tc_util'
-require 'tc_exceptions'
-require 'tc_create_dir'
-require 'tc_create_file'
-require 'tc_read_dir'
-require 'tc_read_file'
-require 'tc_reserved_names'
-require 'tc_managed_entries'
+DIR_NULL = 'test/data/dirs/null'.freeze
+DIR_EMPTY = 'test/data/dirs/empty'.freeze
+DIR_DIR_MIMETYPE = 'test/data/dirs/dir-mimetype'.freeze
+DIR_MANAGED = 'test/data/dirs/managed'.freeze
+FILE_NULL = 'test/data/null.file'.freeze
+EMPTY_CONT = 'test/data/empty.container'.freeze
+EMPTY_ZIP = 'test/data/empty.zip'.freeze
+COMPRESSED_MIMETYPE = 'test/data/compressed_mimetype.container'.freeze
+EXAMPLE = 'test/data/example.container'.freeze
+SUBCLASS = 'test/data/subclassed.container'.freeze
diff --git a/test/tc_util.rb b/test/util_test.rb
similarity index 96%
rename from test/tc_util.rb
rename to test/util_test.rb
index 865ec03..91dba26 100644
--- a/test/tc_util.rb
+++ b/test/util_test.rb
@@ -30,15 +30,14 @@
#
# Author: Robert Haines
-require 'test/unit'
-require 'zip-container'
+require 'test_helper'
class Util
include ZipContainer::Util
end
-class TestUtil < Test::Unit::TestCase
+class TestUtil < MiniTest::Test
def setup
@util = Util.new
diff --git a/zip-container.gemspec b/zip-container.gemspec
index dfddebb..63baeba 100644
--- a/zip-container.gemspec
+++ b/zip-container.gemspec
@@ -60,8 +60,8 @@ Gem::Specification.new do |s|
s.add_development_dependency 'bundler', '~> 1.16'
s.add_development_dependency 'coveralls', '~> 0.8'
+ s.add_development_dependency 'minitest', '~> 5.0'
s.add_development_dependency 'rake', '~> 10.1'
s.add_development_dependency 'rdoc', '~> 4.1'
s.add_development_dependency 'rubocop', '~> 0.59'
- s.add_development_dependency 'test-unit', '~> 3.0'
end
From dc10dc6c5bf4a9000963f7869fdca669ee78da25 Mon Sep 17 00:00:00 2001
From: Robert Haines
Date: Fri, 19 Oct 2018 14:27:39 +0100
Subject: [PATCH 2/2] Add a missing test: ZipContainer::File#to_s.
---
test/read_file_test.rb | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/test/read_file_test.rb b/test/read_file_test.rb
index 325d3b6..8cac0e0 100644
--- a/test/read_file_test.rb
+++ b/test/read_file_test.rb
@@ -86,6 +86,13 @@ def test_raw_mimetypes
refute_equal('application/epub+zip', compressed_mimetype[38..57])
end
+ # Check that summary information about a container is correct.
+ def test_to_s
+ ZipContainer::File.open(EXAMPLE) do |c|
+ assert_equal('test/data/example.container - application/epub+zip', c.to_s)
+ end
+ end
+
# Check reading files out of a container file and make sure we don't change
# it.
def test_read_files_from_container