mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/net/ftp.rb (parse257): refactor.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
29e9230bc5
commit
3e70f44ae9
3 changed files with 24 additions and 19 deletions
|
@ -1,3 +1,7 @@
|
|||
Fri Oct 9 17:29:07 2015 Shugo Maeda <shugo@ruby-lang.org>
|
||||
|
||||
* lib/net/ftp.rb (parse257): refactor.
|
||||
|
||||
Fri Oct 9 16:42:26 2015 Shugo Maeda <shugo@ruby-lang.org>
|
||||
|
||||
* lib/net/imap.rb: use frozen_string_literal: true.
|
||||
|
|
|
@ -1246,24 +1246,7 @@ module Net
|
|||
if !resp.start_with?("257")
|
||||
raise FTPReplyError, resp
|
||||
end
|
||||
if resp[3, 2] != ' "'
|
||||
return ""
|
||||
end
|
||||
dirname = ""
|
||||
i = 5
|
||||
n = resp.length
|
||||
while i < n
|
||||
c = resp[i, 1]
|
||||
i = i + 1
|
||||
if c == '"'
|
||||
if i > n or resp[i, 1] != '"'
|
||||
break
|
||||
end
|
||||
i = i + 1
|
||||
end
|
||||
dirname = dirname + c
|
||||
end
|
||||
return dirname
|
||||
return resp.slice(/"(([^"]|"")*)"/, 1).to_s.gsub(/""/, '"')
|
||||
end
|
||||
private :parse257
|
||||
|
||||
|
|
|
@ -1318,8 +1318,26 @@ EOF
|
|||
end
|
||||
end
|
||||
|
||||
private
|
||||
def test_parse257
|
||||
ftp = Net::FTP.new
|
||||
assert_equal('/foo/bar',
|
||||
ftp.send(:parse257, '257 "/foo/bar" directory created'))
|
||||
assert_equal('/foo/bar"baz',
|
||||
ftp.send(:parse257, '257 "/foo/bar""baz" directory created'))
|
||||
assert_equal('/foo/x"y"z',
|
||||
ftp.send(:parse257, '257 "/foo/x""y""z" directory created'))
|
||||
assert_equal('/foo/bar',
|
||||
ftp.send(:parse257, '257 "/foo/bar" "comment"'))
|
||||
assert_equal('',
|
||||
ftp.send(:parse257, '257 "" directory created'))
|
||||
assert_equal('',
|
||||
ftp.send(:parse257, '257 directory created'))
|
||||
assert_raise(Net::FTPReplyError) do
|
||||
ftp.send(:parse257, "500 Syntax error")
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_ftp_server(sleep_time = nil)
|
||||
server = TCPServer.new(SERVER_ADDR, 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue