Class: ZipFileExtractTest
- Inherits:
-
MiniTest::Test
- Object
- MiniTest::Test
- ZipFileExtractTest
- Includes:
- CommonZipFileFixture
- Defined in:
- lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb
Constant Summary collapse
- EXTRACTED_FILENAME =
"test/data/generated/extEntry"
Constants included from CommonZipFileFixture
CommonZipFileFixture::EMPTY_FILENAME, CommonZipFileFixture::TEST_ZIP
Instance Method Summary collapse
- #setup ⇒ Object
- #test_extract ⇒ Object
- #test_extractExists ⇒ Object
- #test_extractExistsOverwrite ⇒ Object
- #test_extractNonEntry ⇒ Object
- #test_extractNonEntry2 ⇒ Object
Methods included from AssertEntry
assert_contents, #assert_entry, #assert_entryContents, #assert_entryContentsForStream, #assert_next_entry, #assert_stream_contents, #assert_test_zip_contents
Instance Method Details
#setup ⇒ Object
8 9 10 11 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 8 def setup super ::File.delete(EXTRACTED_FILENAME) if ::File.exist?(EXTRACTED_FILENAME) end |
#test_extract ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 13 def test_extract ::Zip::File.open(TEST_ZIP.zip_name) { |zf| zf.extract(ENTRY_TO_EXTRACT, EXTRACTED_FILENAME) assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry::assert_contents(EXTRACTED_FILENAME, zf.get_input_stream(ENTRY_TO_EXTRACT) { |is| is.read }) ::File.unlink(EXTRACTED_FILENAME) entry = zf.get_entry(ENTRY_TO_EXTRACT) entry.extract(EXTRACTED_FILENAME) assert(File.exist?(EXTRACTED_FILENAME)) AssertEntry::assert_contents(EXTRACTED_FILENAME, entry.get_input_stream() { |is| is.read }) } end |
#test_extractExists ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 35 def test_extractExists writtenText = "written text" ::File.open(EXTRACTED_FILENAME, "w") { |f| f.write(writtenText) } assert_raises(::Zip::DestinationFileExistsError) { ::Zip::File.open(TEST_ZIP.zip_name) { |zf| zf.extract(zf.entries.first, EXTRACTED_FILENAME) } } File.open(EXTRACTED_FILENAME, "r") { |f| assert_equal(writtenText, f.read) } end |
#test_extractExistsOverwrite ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 49 def test_extractExistsOverwrite writtenText = "written text" ::File.open(EXTRACTED_FILENAME, "w") { |f| f.write(writtenText) } gotCalledCorrectly = false ::Zip::File.open(TEST_ZIP.zip_name) { |zf| zf.extract(zf.entries.first, EXTRACTED_FILENAME) { |entry, extractLoc| gotCalledCorrectly = zf.entries.first == entry && extractLoc == EXTRACTED_FILENAME true } } assert(gotCalledCorrectly) ::File.open(EXTRACTED_FILENAME, "r") { |f| assert(writtenText != f.read) } end |
#test_extractNonEntry ⇒ Object
71 72 73 74 75 76 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 71 def test_extractNonEntry zf = ::Zip::File.new(TEST_ZIP.zip_name) assert_raises(Errno::ENOENT) { zf.extract("nonExistingEntry", "nonExistingEntry") } ensure zf.close if zf end |
#test_extractNonEntry2 ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/hotplate/gems/rubyzip-1.1.7/test/file_extract_test.rb', line 78 def test_extractNonEntry2 outFile = "outfile" assert_raises(Errno::ENOENT) { zf = ::Zip::File.new(TEST_ZIP.zip_name) nonEntry = "hotdog-diddelidoo" assert(!zf.entries.include?(nonEntry)) zf.extract(nonEntry, outFile) zf.close } assert(!File.exist?(outFile)) end |