diff options
Diffstat (limited to 'spec/ruby/core/io/rewind_spec.rb')
| -rw-r--r-- | spec/ruby/core/io/rewind_spec.rb | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/spec/ruby/core/io/rewind_spec.rb b/spec/ruby/core/io/rewind_spec.rb index ecf8a71891..43834ef307 100644 --- a/spec/ruby/core/io/rewind_spec.rb +++ b/spec/ruby/core/io/rewind_spec.rb @@ -1,6 +1,6 @@ # -*- encoding: utf-8 -*- -require File.expand_path('../../../spec_helper', __FILE__) -require File.expand_path('../fixtures/classes', __FILE__) +require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe "IO#rewind" do before :each do @@ -18,10 +18,21 @@ describe "IO#rewind" do @io.readline.should == "Voici la ligne une.\n" end + it "positions the instance to the beginning of output for write-only IO" do + name = tmp("io_rewind_spec") + io = File.open(name, "w") + io.write("Voici la ligne une.\n") + io.rewind + io.pos.should == 0 + ensure + io.close + rm_r name + end + it "positions the instance to the beginning of input and clears EOF" do value = @io.read @io.rewind - @io.eof?.should == false + @io.should_not.eof? value.should == @io.read end @@ -32,7 +43,11 @@ describe "IO#rewind" do @io.lineno.should == 0 end + it "returns 0" do + @io.rewind.should == 0 + end + it "raises IOError on closed stream" do - lambda { IOSpecs.closed_io.rewind }.should raise_error(IOError) + -> { IOSpecs.closed_io.rewind }.should.raise(IOError) end end |
