diff options
Diffstat (limited to 'spec/ruby/core/io/shared/pos.rb')
| -rw-r--r-- | spec/ruby/core/io/shared/pos.rb | 46 |
1 files changed, 9 insertions, 37 deletions
diff --git a/spec/ruby/core/io/shared/pos.rb b/spec/ruby/core/io/shared/pos.rb index 0b4d1e13b3..450058e159 100644 --- a/spec/ruby/core/io/shared/pos.rb +++ b/spec/ruby/core/io/shared/pos.rb @@ -1,37 +1,3 @@ -describe :io_pos, shared: true do - before :each do - @fname = tmp('test.txt') - File.open(@fname, 'w') { |f| f.write "123" } - end - - after :each do - rm_r @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 - -> { 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.should_not.eof? - end - end -end - describe :io_set_pos, shared: true do before :each do @fname = tmp('test.txt') @@ -60,13 +26,19 @@ describe :io_set_pos, shared: true do end end - it "does not accept Bignums that don't fit in a C long" do + it "raises TypeError when cannot convert implicitly argument to Integer" do + File.open @fname do |io| + -> { io.send @method, Object.new }.should.raise(TypeError, "no implicit conversion of Object into Integer") + end + end + + it "does not accept Integers that don't fit in a C off_t" do File.open @fname do |io| - -> { io.send @method, 2**128 }.should raise_error(RangeError) + -> { io.send @method, 2**128 }.should.raise(RangeError) end end it "raises IOError on closed stream" do - -> { IOSpecs.closed_io.send @method, 0 }.should raise_error(IOError) + -> { IOSpecs.closed_io.send @method, 0 }.should.raise(IOError) end end |
