Sha256: 5794ce6868d1295c4b479d5ced42a92f6ccb1908dcbac048732bf4039f4c539d
Contents?: true
Size: 1.24 KB
Versions: 52
Compression:
Stored size: 1.24 KB
Contents
require File.expand_path('../../../spec_helper', __FILE__) describe "ARGF.rewind" do before :each do @file1_name = fixture __FILE__, "file1.txt" @file2_name = fixture __FILE__, "file2.txt" @file1 = File.readlines @file1_name @file2 = File.readlines @file2_name end after :each do ARGF.close unless ARGF.closed? end # NOTE: this test assumes that fixtures files have two lines each it "goes back to beginning of current file" do argv [@file1_name, @file2_name] do ARGF.gets; ARGF.rewind; ARGF.gets.should == @file1.first ARGF.gets # finish reading file1 ARGF.gets ARGF.rewind ARGF.gets.should == @file2.first end end # This fails on all versions as reported in bug #1693. If it's deemed not to # be a bug, this guard can be removed ruby_bug "#1693", "1.8.7.302" do it "resets ARGF.lineno to 0" do argv [@file2_name] do ARGF.lineno = 0 ARGF.gets; ARGF.lineno.should > 0 ARGF.rewind; ARGF.lineno.should == 0 end end end it "raises an ArgumentError when end of stream reached" do argv [@file1_name, @file2_name] do ARGF.read lambda { ARGF.rewind }.should raise_error(ArgumentError) end end end
Version data entries
52 entries across 52 versions & 2 rubygems