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

* lib/net/ftp.rb (parse_pasv_port): refactored.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shugo 2012-03-26 14:39:16 +00:00
parent cae1d532f5
commit 422c8baeb9
3 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Mon Mar 26 23:19:03 2012 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/ftp.rb (parse_pasv_port): refactored.
Mon Mar 26 19:49:49 2012 Shugo Maeda <shugo@ruby-lang.org>
* test/net/ftp/test_ftp.rb: add the test, which was forgotten in the

View file

@ -963,8 +963,9 @@ module Net
private :parse_pasv_ipv6_host
def parse_pasv_port(s)
high, low = s.split(/,/).map(&:to_i)
return (high << 8) + low
return s.split(/,/).map(&:to_i).inject { |x, y|
(x << 8) + y
}
end
private :parse_pasv_port

View file

@ -99,4 +99,12 @@ class FTPTest < Test::Unit::TestCase
ftp.send(:parse229, "229 ) foo bar (")
end
end
def test_parse_pasv_port
ftp = Net::FTP.new
assert_equal(12, ftp.send(:parse_pasv_port, "12"))
assert_equal(3106, ftp.send(:parse_pasv_port, "12,34"))
assert_equal(795192, ftp.send(:parse_pasv_port, "12,34,56"))
assert_equal(203569230, ftp.send(:parse_pasv_port, "12,34,56,78"))
end
end