Sha256: 5c2d40a28b3394463c4b007bc8d274f59c4c54e63ead8f7f1a4bfcc9bde74cc6

Contents?: true

Size: 1014 Bytes

Versions: 156

Compression:

Stored size: 1014 Bytes

Contents

require 'epitools/zopen'
require 'tempfile'

describe "zopen()" do
  
  before :all do
    @data = ("x"*100+"\n") * 1000
    @tmp = Tempfile.new("zopen_spec")
    
    @plainfile = @tmp.path
    @gzfile    = "#{@tmp.path}.gz" 
  end
  
  after :all do
    File.unlink @plainfile
    File.unlink @gzfile
  end
  
  it "writes/reads a gz" do
    f = zopen(@gzfile, "w")
    f.write(@data).should == @data.size
    f.close
    
    f = zopen(@gzfile, "r")
    f.read.should == @data
    f.close
  end

  it "writes/reads non-gz files" do
    zopen(@plainfile, "w") {|f| f.write(@data) }
    
    # readstyle
    File.read(@plainfile).should == zopen(@plainfile).read
    
    # blockstyle
    open(@plainfile){|f| f.read }.should == zopen(@plainfile){|f| f.read }
  end
  
  it "is enumerable" do
    zopen(@gzfile) do |f|
      f.respond_to?(:each).should == true
      f.respond_to?(:map).should == true
      f.respond_to?(:inject).should == true
      
      f.all?{|line| line =~ /^x+$/ }
    end    
  end

end

Version data entries

156 entries across 156 versions & 1 rubygems

Version Path
epitools-0.5.103 spec/zopen_spec.rb
epitools-0.5.100 spec/zopen_spec.rb
epitools-0.5.99 spec/zopen_spec.rb
epitools-0.5.98 spec/zopen_spec.rb
epitools-0.5.97 spec/zopen_spec.rb
epitools-0.5.96 spec/zopen_spec.rb
epitools-0.5.95 spec/zopen_spec.rb
epitools-0.5.94 spec/zopen_spec.rb
epitools-0.5.93 spec/zopen_spec.rb
epitools-0.5.92 spec/zopen_spec.rb
epitools-0.5.91 spec/zopen_spec.rb
epitools-0.5.90 spec/zopen_spec.rb
epitools-0.5.89 spec/zopen_spec.rb
epitools-0.5.88 spec/zopen_spec.rb
epitools-0.5.87 spec/zopen_spec.rb
epitools-0.5.86 spec/zopen_spec.rb
epitools-0.5.85 spec/zopen_spec.rb
epitools-0.5.84 spec/zopen_spec.rb
epitools-0.5.83 spec/zopen_spec.rb
epitools-0.5.82 spec/zopen_spec.rb