Sha256: 6c59fc6e513849a6bd800e38dfed26690cee62644ccecdd074e120bdc7448fd3

Contents?: true

Size: 1.48 KB

Versions: 52

Compression:

Stored size: 1.48 KB

Contents

describe :io_pos, :shared => true do
  before :each do
    @fname = tmp('test.txt')
    File.open @fname, 'w' do |f| f.write "123" end
  end

  after :each do
    File.unlink @fname
  end

  it "gets the offset" do
    File.open @fname do |f|
      f.send(@method).should == 0
      f.read 1
      f.send(@method).should == 1
      f.read 2
      f.send(@method).should == 3
    end
  end

  #it "raises IOError on closed stream" do
  #  lambda { IOSpecs.closed_io.send(@method) }.should raise_error(IOError)
  #end

  it "resets #eof?" do
    open @fname do |io|
      io.read 1
      io.read 1
      io.send(@method)
      io.eof?.should == false
    end
  end
end

describe :io_set_pos, :shared => true do
  before :each do
    @fname = tmp('test.txt')
    File.open @fname, 'w' do |f| f.write "123" end
  end

  after :each do
    File.unlink @fname
  end

  it "sets the offset" do
    File.open @fname do |f|
      val1 = f.read 1
      f.send @method, 0
      f.read(1).should == val1
    end
  end

  it "converts arguments to Integers" do
    File.open @fname do |io|
      o = mock("o")
      o.should_receive(:to_int).and_return(1)

      io.send @method, o
      io.pos.should == 1
    end
  end

  it "does not accept Bignums that don't fit in a C long" do
    File.open @fname do |io|
      lambda { io.send @method, 2**128 }.should raise_error(RangeError)
    end
  end

  #it "raises IOError on closed stream" do
  #  lambda { IOSpecs.closed_io.send @method, 0 }.should raise_error(IOError)
  #end
end

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
rhodes-7.6.0 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-7.5.1 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-7.4.1 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-7.1.17 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-6.2.0 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-6.0.11 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.18 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.17 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.15 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.0.22 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.2 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.0.7 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.0.3 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-5.5.0 spec/framework_spec/app/spec/core/io/shared/pos.rb
tauplatform-1.0.3 spec/framework_spec/app/spec/core/io/shared/pos.rb
tauplatform-1.0.2 spec/framework_spec/app/spec/core/io/shared/pos.rb
tauplatform-1.0.1 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-3.5.1.12 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-3.3.5 spec/framework_spec/app/spec/core/io/shared/pos.rb
rhodes-3.4.2 spec/framework_spec/app/spec/core/io/shared/pos.rb