2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "ARGF.close" do
|
|
|
|
before :each do
|
|
|
|
@file1_name = fixture __FILE__, "file1.txt"
|
|
|
|
@file2_name = fixture __FILE__, "file2.txt"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "closes the current open stream" do
|
|
|
|
argf [@file1_name, @file2_name] do
|
|
|
|
io = @argf.to_io
|
|
|
|
@argf.close
|
|
|
|
io.closed?.should be_true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns self" do
|
|
|
|
argf [@file1_name, @file2_name] do
|
|
|
|
@argf.close.should equal(@argf)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-04-28 15:50:06 -04:00
|
|
|
it "doesn't raise an IOError if called on a closed stream" do
|
|
|
|
argf [@file1_name] do
|
|
|
|
lambda { @argf.close }.should_not raise_error
|
|
|
|
lambda { @argf.close }.should_not raise_error
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "ARGF.close" do
|
|
|
|
it "does not close STDIN" do
|
|
|
|
ruby_exe("ARGV.replace(['-']); ARGF.close; print ARGF.closed?").should == "false"
|
|
|
|
end
|
|
|
|
end
|