Sha256: 5fe6efdb8a6063fc98be32f600bd1ab6ca8deeccfd3f2d97798dfb80604564c6

Contents?: true

Size: 695 Bytes

Versions: 7

Compression:

Stored size: 695 Bytes

Contents

require File.expand_path('../fixtures/classes', __FILE__)

describe "StringIO#close_write" do
  before(:each) do
    @io = StringIO.new("example")
  end

  it "returns nil" do
    @io.close_write.should be_nil
  end

  it "prevents further writing" do
    @io.close_write
    lambda { @io.write('x') }.should raise_error(IOError)
  end

  it "allows further reading" do
    @io.close_write
    @io.read(1).should == 'e'
  end

  it "raises an IOError when in read-only mode" do
    io = StringIO.new("example", "r")
    lambda { io.close_write }.should raise_error(IOError)

    io = StringIO.new("example")
    io.close_write
    lambda { io.close_write }.should raise_error(IOError)
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rubysl-stringio-2.3 spec/close_write_spec.rb
rubysl-stringio-2.2 spec/close_write_spec.rb
rubysl-stringio-2.1 spec/close_write_spec.rb
rubysl-stringio-2.1.0 spec/close_write_spec.rb
rubysl-stringio-1.0.1 spec/close_write_spec.rb
rubysl-stringio-1.0.0 spec/close_write_spec.rb
rubysl-stringio-2.0.0 spec/close_write_spec.rb