diff options
Diffstat (limited to 'spec/ruby/library/stringio/shared')
| -rw-r--r-- | spec/ruby/library/stringio/shared/codepoints.rb | 10 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/each.rb | 90 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/each_byte.rb | 10 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/each_char.rb | 8 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/eof.rb | 10 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/getc.rb | 20 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/gets.rb | 249 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/isatty.rb | 2 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/read.rb | 30 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/readchar.rb | 6 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/sysread.rb | 2 | ||||
| -rw-r--r-- | spec/ruby/library/stringio/shared/write.rb | 8 |
12 files changed, 370 insertions, 75 deletions
diff --git a/spec/ruby/library/stringio/shared/codepoints.rb b/spec/ruby/library/stringio/shared/codepoints.rb index 25333bb0fd..e35a02ccb4 100644 --- a/spec/ruby/library/stringio/shared/codepoints.rb +++ b/spec/ruby/library/stringio/shared/codepoints.rb @@ -6,7 +6,7 @@ describe :stringio_codepoints, shared: true do end it "returns an Enumerator" do - @enum.should be_an_instance_of(Enumerator) + @enum.should.instance_of?(Enumerator) end it "yields each codepoint code in turn" do @@ -20,15 +20,15 @@ describe :stringio_codepoints, shared: true do it "raises an error if reading invalid sequence" do @io.pos = 1 # inside of a multibyte sequence - -> { @enum.first }.should raise_error(ArgumentError) + -> { @enum.first }.should.raise(ArgumentError) end it "raises an IOError if not readable" do @io.close_read - -> { @enum.to_a }.should raise_error(IOError) + -> { @enum.to_a }.should.raise(IOError) io = StringIO.new(+"xyz", "w") - -> { io.send(@method).to_a }.should raise_error(IOError) + -> { io.send(@method).to_a }.should.raise(IOError) end @@ -39,7 +39,7 @@ describe :stringio_codepoints, shared: true do end it "returns self" do - @io.send(@method) {|l| l }.should equal(@io) + @io.send(@method) {|l| l }.should.equal?(@io) end end diff --git a/spec/ruby/library/stringio/shared/each.rb b/spec/ruby/library/stringio/shared/each.rb index e0dd3f9b8f..04e40b6b2a 100644 --- a/spec/ruby/library/stringio/shared/each.rb +++ b/spec/ruby/library/stringio/shared/each.rb @@ -16,7 +16,7 @@ describe :stringio_each_separator, shared: true do end it "returns self" do - @io.send(@method) {|l| l }.should equal(@io) + @io.send(@method) {|l| l }.should.equal?(@io) end it "tries to convert the passed separator to a String using #to_str" do @@ -36,22 +36,11 @@ describe :stringio_each_separator, shared: true do seen.should == ["2 1 2 1 2"] end - version_is StringIO::VERSION, ""..."3.0.4" do #ruby_version_is ""..."3.2" do - it "yields each paragraph with two separation characters when passed an empty String as separator" do - seen = [] - io = StringIO.new("para1\n\npara2\n\n\npara3") - io.send(@method, "") {|s| seen << s} - seen.should == ["para1\n\n", "para2\n\n", "para3"] - end - end - - version_is StringIO::VERSION, "3.0.4" do #ruby_version_is "3.2" do - it "yields each paragraph with all separation characters when passed an empty String as separator" do - seen = [] - io = StringIO.new("para1\n\npara2\n\n\npara3") - io.send(@method, "") {|s| seen << s} - seen.should == ["para1\n\n", "para2\n\n\n", "para3"] - end + it "yields each paragraph with all separation characters when passed an empty String as separator" do + seen = [] + io = StringIO.new("para1\n\npara2\n\n\npara3") + io.send(@method, "") {|s| seen << s} + seen.should == ["para1\n\n", "para2\n\n\n", "para3"] end end @@ -85,19 +74,19 @@ describe :stringio_each_no_arguments, shared: true do old_rs = $/ suppress_warning {$/ = " "} @io.send(@method) {|s| seen << s } - seen.should eql(["a ", "b ", "c ", "d ", "e\n1 ", "2 ", "3 ", "4 ", "5"]) + seen.should.eql?(["a ", "b ", "c ", "d ", "e\n1 ", "2 ", "3 ", "4 ", "5"]) ensure suppress_warning {$/ = old_rs} end end it "returns self" do - @io.send(@method) {|l| l }.should equal(@io) + @io.send(@method) {|l| l }.should.equal?(@io) end it "returns an Enumerator when passed no block" do enum = @io.send(@method) - enum.instance_of?(Enumerator).should be_true + enum.instance_of?(Enumerator).should == true seen = [] enum.each { |b| seen << b } @@ -108,11 +97,11 @@ end describe :stringio_each_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"a b c d e", "w") - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) io = StringIO.new("a b c d e") io.close_read - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) end end @@ -161,3 +150,60 @@ describe :stringio_each_limit, shared: true do seen.should == ["a b ", "c d ", "e\n", "1 2 ", "3 4 ", "5"] end end + +describe :stringio_each_separator_and_limit, shared: true do + before :each do + @io = StringIO.new("this>is>an>example") + end + + it "returns the data read until the limit is consumed or the separator is met" do + @io.send(@method, '>', 8) { |s| break s }.should == "this>" + @io.send(@method, '>', 2) { |s| break s }.should == "is" + @io.send(@method, '>', 10) { |s| break s }.should == ">" + @io.send(@method, '>', 6) { |s| break s }.should == "an>" + @io.send(@method, '>', 5) { |s| break s }.should == "examp" + end + + it "truncates the multi-character separator at the end to meet the limit" do + @io.send(@method, "is>an", 7) { |s| break s }.should == "this>is" + end + + it "does not change $_" do + $_ = "test" + @io.send(@method, '>', 8) { |s| s } + $_.should == "test" + end + + it "updates self's lineno by one" do + @io.send(@method, '>', 3) { |s| break s } + @io.lineno.should.eql?(1) + + @io.send(@method, '>', 3) { |s| break s } + @io.lineno.should.eql?(2) + + @io.send(@method, '>', 3) { |s| break s } + @io.lineno.should.eql?(3) + end + + it "tries to convert the passed separator to a String using #to_str" do # TODO + obj = mock('to_str') + obj.should_receive(:to_str).and_return('>') + + seen = [] + @io.send(@method, obj, 5) { |s| seen << s } + seen.should == ["this>", "is>", "an>", "examp", "le"] + end + + it "does not raise TypeError if passed separator is nil" do + @io.send(@method, nil, 5) { |s| break s }.should == "this>" + end + + it "tries to convert the passed limit to an Integer using #to_int" do # TODO + obj = mock('to_int') + obj.should_receive(:to_int).and_return(5) + + seen = [] + @io.send(@method, '>', obj) { |s| seen << s } + seen.should == ["this>", "is>", "an>", "examp", "le"] + end +end diff --git a/spec/ruby/library/stringio/shared/each_byte.rb b/spec/ruby/library/stringio/shared/each_byte.rb index b51fa38f2f..b3939c26de 100644 --- a/spec/ruby/library/stringio/shared/each_byte.rb +++ b/spec/ruby/library/stringio/shared/each_byte.rb @@ -19,16 +19,16 @@ describe :stringio_each_byte, shared: true do @io.pos = 1000 seen = nil @io.send(@method) { |b| seen = b } - seen.should be_nil + seen.should == nil end it "returns self" do - @io.send(@method) {}.should equal(@io) + @io.send(@method) {}.should.equal?(@io) end it "returns an Enumerator when passed no block" do enum = @io.send(@method) - enum.instance_of?(Enumerator).should be_true + enum.instance_of?(Enumerator).should == true seen = [] enum.each { |b| seen << b } @@ -39,10 +39,10 @@ end describe :stringio_each_byte_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"xyz", "w") - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) io = StringIO.new("xyz") io.close_read - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) end end diff --git a/spec/ruby/library/stringio/shared/each_char.rb b/spec/ruby/library/stringio/shared/each_char.rb index 197237c1c8..4215a9952b 100644 --- a/spec/ruby/library/stringio/shared/each_char.rb +++ b/spec/ruby/library/stringio/shared/each_char.rb @@ -11,12 +11,12 @@ describe :stringio_each_char, shared: true do end it "returns self" do - @io.send(@method) {}.should equal(@io) + @io.send(@method) {}.should.equal?(@io) end it "returns an Enumerator when passed no block" do enum = @io.send(@method) - enum.instance_of?(Enumerator).should be_true + enum.instance_of?(Enumerator).should == true seen = [] enum.each { |c| seen << c } @@ -27,10 +27,10 @@ end describe :stringio_each_char_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"xyz", "w") - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) io = StringIO.new("xyz") io.close_read - -> { io.send(@method) { |b| b } }.should raise_error(IOError) + -> { io.send(@method) { |b| b } }.should.raise(IOError) end end diff --git a/spec/ruby/library/stringio/shared/eof.rb b/spec/ruby/library/stringio/shared/eof.rb index e0368a2892..a9489581fc 100644 --- a/spec/ruby/library/stringio/shared/eof.rb +++ b/spec/ruby/library/stringio/shared/eof.rb @@ -5,20 +5,20 @@ describe :stringio_eof, shared: true do it "returns true when self's position is greater than or equal to self's size" do @io.pos = 3 - @io.send(@method).should be_true + @io.send(@method).should == true @io.pos = 6 - @io.send(@method).should be_true + @io.send(@method).should == true end it "returns false when self's position is less than self's size" do @io.pos = 0 - @io.send(@method).should be_false + @io.send(@method).should == false @io.pos = 1 - @io.send(@method).should be_false + @io.send(@method).should == false @io.pos = 2 - @io.send(@method).should be_false + @io.send(@method).should == false end end diff --git a/spec/ruby/library/stringio/shared/getc.rb b/spec/ruby/library/stringio/shared/getc.rb index ba65040bce..a146b2d4cf 100644 --- a/spec/ruby/library/stringio/shared/getc.rb +++ b/spec/ruby/library/stringio/shared/getc.rb @@ -5,39 +5,39 @@ describe :stringio_getc, shared: true do it "increases self's position by one" do @io.send(@method) - @io.pos.should eql(1) + @io.pos.should.eql?(1) @io.send(@method) - @io.pos.should eql(2) + @io.pos.should.eql?(2) @io.send(@method) - @io.pos.should eql(3) + @io.pos.should.eql?(3) end it "returns nil when called at the end of self" do @io.pos = 7 - @io.send(@method).should be_nil - @io.send(@method).should be_nil - @io.send(@method).should be_nil + @io.send(@method).should == nil + @io.send(@method).should == nil + @io.send(@method).should == nil end it "does not increase self's position when called at the end of file" do @io.pos = 7 @io.send(@method) - @io.pos.should eql(7) + @io.pos.should.eql?(7) @io.send(@method) - @io.pos.should eql(7) + @io.pos.should.eql?(7) end end describe :stringio_getc_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"xyz", "w") - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) io = StringIO.new("xyz") io.close_read - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) end end diff --git a/spec/ruby/library/stringio/shared/gets.rb b/spec/ruby/library/stringio/shared/gets.rb new file mode 100644 index 0000000000..16039b18ef --- /dev/null +++ b/spec/ruby/library/stringio/shared/gets.rb @@ -0,0 +1,249 @@ +describe :stringio_gets_separator, shared: true do + describe "when passed [separator]" do + before :each do + @io = StringIO.new("this>is>an>example") + end + + it "returns the data read till the next occurrence of the passed separator" do + @io.send(@method, ">").should == "this>" + @io.send(@method, ">").should == "is>" + @io.send(@method, ">").should == "an>" + @io.send(@method, ">").should == "example" + end + + it "sets $_ to the read content" do + @io.send(@method, ">") + $_.should == "this>" + @io.send(@method, ">") + $_.should == "is>" + @io.send(@method, ">") + $_.should == "an>" + @io.send(@method, ">") + $_.should == "example" + end + + it "accepts string as separator" do + @io.send(@method, "is>") + $_.should == "this>" + @io.send(@method, "an>") + $_.should == "is>an>" + @io.send(@method, "example") + $_.should == "example" + end + + it "updates self's lineno by one" do + @io.send(@method, ">") + @io.lineno.should.eql?(1) + + @io.send(@method, ">") + @io.lineno.should.eql?(2) + + @io.send(@method, ">") + @io.lineno.should.eql?(3) + end + + it "returns the next paragraph when the passed separator is an empty String" do + io = StringIO.new("this is\n\nan example") + io.send(@method, "").should == "this is\n\n" + io.send(@method, "").should == "an example" + end + + it "returns the remaining content starting at the current position when passed nil" do + io = StringIO.new("this is\n\nan example") + io.pos = 5 + io.send(@method, nil).should == "is\n\nan example" + end + + it "tries to convert the passed separator to a String using #to_str" do + obj = mock('to_str') + obj.should_receive(:to_str).and_return(">") + @io.send(@method, obj).should == "this>" + end + end +end + +describe :stringio_gets_limit, shared: true do + describe "when passed [limit]" do + before :each do + @io = StringIO.new("this>is>an>example") + end + + it "returns the data read until the limit is met" do + @io.send(@method, 4).should == "this" + @io.send(@method, 3).should == ">is" + @io.send(@method, 5).should == ">an>e" + @io.send(@method, 6).should == "xample" + end + + it "sets $_ to the read content" do + @io.send(@method, 4) + $_.should == "this" + @io.send(@method, 3) + $_.should == ">is" + @io.send(@method, 5) + $_.should == ">an>e" + @io.send(@method, 6) + $_.should == "xample" + end + + it "updates self's lineno by one" do + @io.send(@method, 3) + @io.lineno.should.eql?(1) + + @io.send(@method, 3) + @io.lineno.should.eql?(2) + + @io.send(@method, 3) + @io.lineno.should.eql?(3) + end + + it "tries to convert the passed limit to an Integer using #to_int" do + obj = mock('to_int') + obj.should_receive(:to_int).and_return(4) + @io.send(@method, obj).should == "this" + end + + it "returns a blank string when passed a limit of 0" do + @io.send(@method, 0).should == "" + end + + it "ignores it when passed a negative limit" do + @io.send(@method, -4).should == "this>is>an>example" + end + end +end + +describe :stringio_gets_separator_and_limit, shared: true do + describe "when passed [separator] and [limit]" do + before :each do + @io = StringIO.new("this>is>an>example") + end + + it "returns the data read until the limit is consumed or the separator is met" do + @io.send(@method, '>', 8).should == "this>" + @io.send(@method, '>', 2).should == "is" + @io.send(@method, '>', 10).should == ">" + @io.send(@method, '>', 6).should == "an>" + @io.send(@method, '>', 5).should == "examp" + end + + it "truncates the multi-character separator at the end to meet the limit" do + @io.send(@method, "is>an", 7).should == "this>is" + end + + it "sets $_ to the read content" do + @io.send(@method, '>', 8) + $_.should == "this>" + @io.send(@method, '>', 2) + $_.should == "is" + @io.send(@method, '>', 10) + $_.should == ">" + @io.send(@method, '>', 6) + $_.should == "an>" + @io.send(@method, '>', 5) + $_.should == "examp" + end + + it "updates self's lineno by one" do + @io.send(@method, '>', 3) + @io.lineno.should.eql?(1) + + @io.send(@method, '>', 3) + @io.lineno.should.eql?(2) + + @io.send(@method, '>', 3) + @io.lineno.should.eql?(3) + end + + it "tries to convert the passed separator to a String using #to_str" do + obj = mock('to_str') + obj.should_receive(:to_str).and_return('>') + @io.send(@method, obj, 5).should == "this>" + end + + it "does not raise TypeError if passed separator is nil" do + @io.send(@method, nil, 5).should == "this>" + end + + it "tries to convert the passed limit to an Integer using #to_int" do + obj = mock('to_int') + obj.should_receive(:to_int).and_return(5) + @io.send(@method, '>', obj).should == "this>" + end + end +end + +describe :stringio_gets_no_argument, shared: true do + describe "when passed no argument" do + before :each do + @io = StringIO.new("this is\nan example\nfor StringIO#gets") + end + + it "returns the data read till the next occurrence of $/ or till eof" do + @io.send(@method).should == "this is\n" + + begin + old_sep = $/ + suppress_warning {$/ = " "} + @io.send(@method).should == "an " + @io.send(@method).should == "example\nfor " + @io.send(@method).should == "StringIO#gets" + ensure + suppress_warning {$/ = old_sep} + end + end + + it "sets $_ to the read content" do + @io.send(@method) + $_.should == "this is\n" + @io.send(@method) + $_.should == "an example\n" + @io.send(@method) + $_.should == "for StringIO#gets" + end + + it "updates self's position" do + @io.send(@method) + @io.pos.should.eql?(8) + + @io.send(@method) + @io.pos.should.eql?(19) + + @io.send(@method) + @io.pos.should.eql?(36) + end + + it "updates self's lineno" do + @io.send(@method) + @io.lineno.should.eql?(1) + + @io.send(@method) + @io.lineno.should.eql?(2) + + @io.send(@method) + @io.lineno.should.eql?(3) + end + end +end + +describe :stringio_gets_chomp, shared: true do + describe "when passed [chomp]" do + it "returns the data read without a trailing newline character" do + io = StringIO.new("this>is>an>example\n") + io.send(@method, chomp: true).should == "this>is>an>example" + end + end +end + +describe :stringio_gets_write_only, shared: true do + describe "when in write-only mode" do + it "raises an IOError" do + io = StringIO.new(+"xyz", "w") + -> { io.send(@method) }.should.raise(IOError) + + io = StringIO.new("xyz") + io.close_read + -> { io.send(@method) }.should.raise(IOError) + end + end +end diff --git a/spec/ruby/library/stringio/shared/isatty.rb b/spec/ruby/library/stringio/shared/isatty.rb index c9e7ee7321..2b92e8d656 100644 --- a/spec/ruby/library/stringio/shared/isatty.rb +++ b/spec/ruby/library/stringio/shared/isatty.rb @@ -1,5 +1,5 @@ describe :stringio_isatty, shared: true do it "returns false" do - StringIO.new("tty").send(@method).should be_false + StringIO.new("tty").send(@method).should == false end end diff --git a/spec/ruby/library/stringio/shared/read.rb b/spec/ruby/library/stringio/shared/read.rb index 8ef6ec2734..6e04e75dba 100644 --- a/spec/ruby/library/stringio/shared/read.rb +++ b/spec/ruby/library/stringio/shared/read.rb @@ -5,9 +5,9 @@ describe :stringio_read, shared: true do it "returns the passed buffer String" do # Note: Rubinius bug: - # @io.send(@method, 7, buffer = +"").should equal(buffer) + # @io.send(@method, 7, buffer = +"").should.equal?(buffer) ret = @io.send(@method, 7, buffer = +"") - ret.should equal(buffer) + ret.should.equal?(buffer) end it "reads length bytes and writes them to the buffer String" do @@ -15,7 +15,7 @@ describe :stringio_read, shared: true do buffer.should == "example" end - ruby_version_is ""..."3.4" do + guard -> { StringIO::VERSION < "3.1.2" } do it "does not preserve the encoding of the given buffer" do buffer = ''.encode(Encoding::ISO_8859_1) @io.send(@method, 7, buffer) @@ -24,7 +24,7 @@ describe :stringio_read, shared: true do end end - ruby_version_is "3.4" do + guard -> { StringIO::VERSION >= "3.1.2" } do it "preserves the encoding of the given buffer" do buffer = ''.encode(Encoding::ISO_8859_1) @io.send(@method, 7, buffer) @@ -42,11 +42,11 @@ describe :stringio_read, shared: true do end it "raises a TypeError when the passed buffer Object can't be converted to a String" do - -> { @io.send(@method, 7, Object.new) }.should raise_error(TypeError) + -> { @io.send(@method, 7, Object.new) }.should.raise(TypeError) end it "raises a FrozenError error when passed a frozen String as buffer" do - -> { @io.send(@method, 7, "".freeze) }.should raise_error(FrozenError) + -> { @io.send(@method, 7, "".freeze) }.should.raise(FrozenError) end end @@ -66,10 +66,10 @@ describe :stringio_read_length, shared: true do it "correctly updates the position" do @io.send(@method, 3) - @io.pos.should eql(3) + @io.pos.should.eql?(3) @io.send(@method, 999) - @io.pos.should eql(7) + @io.pos.should.eql?(7) end it "tries to convert the passed length to an Integer using #to_int" do @@ -79,11 +79,11 @@ describe :stringio_read_length, shared: true do end it "raises a TypeError when the passed length can't be converted to an Integer" do - -> { @io.send(@method, Object.new) }.should raise_error(TypeError) + -> { @io.send(@method, Object.new) }.should.raise(TypeError) end it "raises a TypeError when the passed length is negative" do - -> { @io.send(@method, -2) }.should raise_error(ArgumentError) + -> { @io.send(@method, -2) }.should.raise(ArgumentError) end it "returns a binary String" do @@ -105,13 +105,13 @@ describe :stringio_read_no_arguments, shared: true do it "correctly updates the current position" do @io.send(@method) - @io.pos.should eql(7) + @io.pos.should.eql?(7) end it "correctly update the current position in bytes when multi-byte characters are used" do @io.print("example\u03A3") # Overwrite the original string with 8 characters containing 9 bytes. @io.send(@method) - @io.pos.should eql(9) + @io.pos.should.eql?(9) end end @@ -129,17 +129,17 @@ describe :stringio_read_nil, shared: true do it "updates the current position" do @io.send(@method, nil) - @io.pos.should eql(7) + @io.pos.should.eql?(7) end end describe :stringio_read_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"test", "w") - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) io = StringIO.new("test") io.close_read - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) end end diff --git a/spec/ruby/library/stringio/shared/readchar.rb b/spec/ruby/library/stringio/shared/readchar.rb index 72d7446c36..5ac28e0743 100644 --- a/spec/ruby/library/stringio/shared/readchar.rb +++ b/spec/ruby/library/stringio/shared/readchar.rb @@ -13,17 +13,17 @@ describe :stringio_readchar, shared: true do it "raises an EOFError when self is at the end" do @io.pos = 7 - -> { @io.send(@method) }.should raise_error(EOFError) + -> { @io.send(@method) }.should.raise(EOFError) end end describe :stringio_readchar_not_readable, shared: true do it "raises an IOError" do io = StringIO.new(+"a b c d e", "w") - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) io = StringIO.new("a b c d e") io.close_read - -> { io.send(@method) }.should raise_error(IOError) + -> { io.send(@method) }.should.raise(IOError) end end diff --git a/spec/ruby/library/stringio/shared/sysread.rb b/spec/ruby/library/stringio/shared/sysread.rb index 3e23fbc233..bc448d3379 100644 --- a/spec/ruby/library/stringio/shared/sysread.rb +++ b/spec/ruby/library/stringio/shared/sysread.rb @@ -10,6 +10,6 @@ describe :stringio_sysread_length, shared: true do it "raises an EOFError when passed length > 0 and no data remains" do @io.read.should == "example" - -> { @io.send(@method, 1) }.should raise_error(EOFError) + -> { @io.send(@method, 1) }.should.raise(EOFError) end end diff --git a/spec/ruby/library/stringio/shared/write.rb b/spec/ruby/library/stringio/shared/write.rb index 4661658baf..b6bffe7f12 100644 --- a/spec/ruby/library/stringio/shared/write.rb +++ b/spec/ruby/library/stringio/shared/write.rb @@ -42,7 +42,7 @@ describe :stringio_write_string, shared: true do it "updates self's position" do @io.send(@method, 'test') - @io.pos.should eql(4) + @io.pos.should.eql?(4) end it "handles concurrent writes correctly" do @@ -107,11 +107,11 @@ end describe :stringio_write_not_writable, shared: true do it "raises an IOError" do io = StringIO.new(+"test", "r") - -> { io.send(@method, "test") }.should raise_error(IOError) + -> { io.send(@method, "test") }.should.raise(IOError) io = StringIO.new(+"test") io.close_write - -> { io.send(@method, "test") }.should raise_error(IOError) + -> { io.send(@method, "test") }.should.raise(IOError) end end @@ -130,6 +130,6 @@ describe :stringio_write_append, shared: true do it "correctly updates self's position" do @io.send(@method, ", testing") - @io.pos.should eql(16) + @io.pos.should.eql?(16) end end |
