1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Prefer adapting specs to complicating library code

* lib/net/ftp.rb (Net::FTP#initialize): simplify as per
  the original intent.
* spec/ruby/library/net/ftp/initialize_spec.rb: adapt specs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2017-09-20 21:50:14 +00:00
parent aaf07f7ad5
commit 2dd35a7453
2 changed files with 9 additions and 11 deletions

View file

@ -262,13 +262,7 @@ module Net
@ssl_handshake_timeout = options[:ssl_handshake_timeout]
@read_timeout = options[:read_timeout] || 60
if host
if options[:port]
connect(host, options[:port] || FTP_PORT)
else
# spec/ruby/library/net/ftp/initialize_spec.rb depends on
# the number of arguments passed to connect....
connect(host)
end
connect(host, options[:port] || FTP_PORT)
if options[:username]
login(options[:username], options[:password], options[:account])
end

View file

@ -5,6 +5,10 @@ describe "Net::FTP#initialize" do
before :each do
@ftp = Net::FTP.allocate
@ftp.stub!(:connect)
@port_args = []
ruby_version_is "2.5" do
@port_args << 21
end
end
it "is private" do
@ -44,14 +48,14 @@ describe "Net::FTP#initialize" do
describe "when passed host" do
it "tries to connect to the passed host" do
@ftp.should_receive(:connect).with("localhost")
@ftp.should_receive(:connect).with("localhost", *@port_args)
@ftp.send(:initialize, "localhost")
end
end
describe "when passed host, user" do
it "tries to connect to the passed host" do
@ftp.should_receive(:connect).with("localhost")
@ftp.should_receive(:connect).with("localhost", *@port_args)
@ftp.send(:initialize, "localhost")
end
@ -63,7 +67,7 @@ describe "Net::FTP#initialize" do
describe "when passed host, user, password" do
it "tries to connect to the passed host" do
@ftp.should_receive(:connect).with("localhost")
@ftp.should_receive(:connect).with("localhost", *@port_args)
@ftp.send(:initialize, "localhost")
end
@ -75,7 +79,7 @@ describe "Net::FTP#initialize" do
describe "when passed host, user" do
it "tries to connect to the passed host" do
@ftp.should_receive(:connect).with("localhost")
@ftp.should_receive(:connect).with("localhost", *@port_args)
@ftp.send(:initialize, "localhost")
end