Sha256: 9a4e79d07d92c6b3fe696ecf6a5595f455ab8dcd9426baecc226fb42f9e67b99

Contents?: true

Size: 922 Bytes

Versions: 7

Compression:

Stored size: 922 Bytes

Contents

describe :stringio_sysread_length, :shared => true do
  before(:each) do
    @io = StringIO.new("example")
  end

  # This was filed as a bug in redmine#156 but since MRI refused to change the
  # 1.8 behavior, it's now considered a version difference by RubySpec since
  # it could have a significant impact on user code.
  ruby_version_is ""..."1.9" do
    it "raises an EOFError when passed 0 and no data remains" do
      @io.send(@method, 8).should == "example"
      lambda { @io.send(@method, 0) }.should raise_error(EOFError)
    end
  end

  ruby_version_is "1.9" do
    it "returns an empty String when passed 0 and no data remains" do
      @io.send(@method, 8).should == "example"
      @io.send(@method, 0).should == ""
    end
  end

  it "raises an EOFError when passed length > 0 and no data remains" do
    @io.read.should == "example"
    lambda { @io.sysread(1) }.should raise_error(EOFError)
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

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