diff options
Diffstat (limited to 'spec/ruby/library/net-ftp/open_spec.rb')
-rw-r--r-- | spec/ruby/library/net-ftp/open_spec.rb | 73 |
1 files changed, 35 insertions, 38 deletions
diff --git a/spec/ruby/library/net-ftp/open_spec.rb b/spec/ruby/library/net-ftp/open_spec.rb index 5641481d1a..e59496dc3c 100644 --- a/spec/ruby/library/net-ftp/open_spec.rb +++ b/spec/ruby/library/net-ftp/open_spec.rb @@ -1,58 +1,55 @@ require_relative '../../spec_helper' +require_relative 'spec_helper' -ruby_version_is ""..."3.1" do - require_relative 'spec_helper' +describe "Net::FTP.open" do + before :each do + @ftp = mock("Net::FTP instance") + Net::FTP.stub!(:new).and_return(@ftp) + end - describe "Net::FTP.open" do - before :each do - @ftp = mock("Net::FTP instance") - Net::FTP.stub!(:new).and_return(@ftp) + describe "when passed no block" do + it "returns a new Net::FTP instance" do + Net::FTP.open("localhost").should equal(@ftp) end - describe "when passed no block" do - it "returns a new Net::FTP instance" do - Net::FTP.open("localhost").should equal(@ftp) - end + it "passes the passed arguments down to Net::FTP.new" do + Net::FTP.should_receive(:new).with("localhost", "user", "password", "account") + Net::FTP.open("localhost", "user", "password", "account") + end + end - it "passes the passed arguments down to Net::FTP.new" do - Net::FTP.should_receive(:new).with("localhost", "user", "password", "account") - Net::FTP.open("localhost", "user", "password", "account") - end + describe "when passed a block" do + before :each do + @ftp.stub!(:close) end - describe "when passed a block" do - before :each do - @ftp.stub!(:close) + it "yields a new Net::FTP instance to the passed block" do + yielded = false + Net::FTP.open("localhost") do |ftp| + yielded = true + ftp.should equal(@ftp) end + yielded.should be_true + end - it "yields a new Net::FTP instance to the passed block" do - yielded = false - Net::FTP.open("localhost") do |ftp| - yielded = true - ftp.should equal(@ftp) - end - yielded.should be_true + it "closes the Net::FTP instance after yielding" do + Net::FTP.open("localhost") do |ftp| + ftp.should_receive(:close) end + end - it "closes the Net::FTP instance after yielding" do + it "closes the Net::FTP instance even if an exception is raised while yielding" do + begin Net::FTP.open("localhost") do |ftp| ftp.should_receive(:close) + raise ArgumentError, "some exception" end + rescue ArgumentError end + end - it "closes the Net::FTP instance even if an exception is raised while yielding" do - begin - Net::FTP.open("localhost") do |ftp| - ftp.should_receive(:close) - raise ArgumentError, "some exception" - end - rescue ArgumentError - end - end - - it "returns the block's return value" do - Net::FTP.open("localhost") { :test }.should == :test - end + it "returns the block's return value" do + Net::FTP.open("localhost") { :test }.should == :test end end end |