Sha256: fc4d75d9112ee581aec0f83ad9e86d7679a3cf6960e428d3d3b943a720d6dad2

Contents?: true

Size: 1.64 KB

Versions: 9

Compression:

Stored size: 1.64 KB

Contents

require_relative 'test_helper'
require_relative 'minimal_file_reader'
require 'zip'

class ZipReaderTest < Minitest::Test
  describe IOStreams::Zip::Reader do
    let :file_name do
      File.join(File.dirname(__FILE__), 'files', 'text.zip')
    end

    let :multiple_zip_file_name do
      File.join(File.dirname(__FILE__), 'files', 'multiple_files.zip')
    end

    let :contents_test_txt do
      File.read(File.join(File.dirname(__FILE__), 'files', 'text.txt'))
    end

    let :contents_test_json do
      File.read(File.join(File.dirname(__FILE__), 'files', 'test.json'))
    end

    let :decompressed do
      Zip::File.open(file_name) { |zip_file| zip_file.first.get_input_stream.read }
    end

    describe '.file' do
      it 'reads the first file' do
        result = IOStreams::Zip::Reader.file(file_name) do |io|
          io.read
        end
        assert_equal decompressed, result
      end

      it 'reads entry within zip file' do
        result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: 'text.txt') do |io|
          io.read
        end
        assert_equal contents_test_txt, result
      end

      it 'reads another entry within zip file' do
        result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: 'test.json') do |io|
          io.read
        end
        assert_equal contents_test_json, result
      end

      # it 'reads from a stream' do
      #   result = MinimalFileReader.open(file_name) do |file|
      #     IOStreams::Zip::Reader.stream(file) do |io|
      #       io.read
      #     end
      #   end
      #   assert_equal decompressed, result
      # end
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
iostreams-1.1.0 test/zip_reader_test.rb
iostreams-1.0.0 test/zip_reader_test.rb
iostreams-1.0.0.beta7 test/zip_reader_test.rb
iostreams-1.0.0.beta6 test/zip_reader_test.rb
iostreams-1.0.0.beta5 test/zip_reader_test.rb
iostreams-1.0.0.beta4 test/zip_reader_test.rb
iostreams-1.0.0.beta3 test/zip_reader_test.rb
iostreams-1.0.0.beta2 test/zip_reader_test.rb
iostreams-1.0.0.beta test/zip_reader_test.rb