CVS root_url not recognized when connection string does not include port (#14422).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12027 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-07-15 21:06:54 +00:00
parent 9ca8b20d55
commit 01a9e17c49
2 changed files with 14 additions and 3 deletions

View File

@ -335,7 +335,7 @@ module Redmine
# :pserver:anonymous@foo.bar:/path => /path # :pserver:anonymous@foo.bar:/path => /path
# :ext:cvsservername:/path => /path # :ext:cvsservername:/path => /path
def root_url_path def root_url_path
root_url.to_s.gsub(/^:.+:\d*/, '') root_url.to_s.gsub(%r{^:.+?(?=/)}, '')
end end
# convert a date/time into the CVS-format # convert a date/time into the CVS-format

View File

@ -80,8 +80,19 @@ begin
end end
def test_root_url_path def test_root_url_path
adapter = Redmine::Scm::Adapters::CvsAdapter.new('foo', ':pserver:cvs_user:cvs_password@123.456.789.123:9876/repo') to_test = {
assert_equal '/repo', adapter.send(:root_url_path) ':pserver:cvs_user:cvs_password@123.456.789.123:9876/repo' => '/repo',
':pserver:cvs_user:cvs_password@123.456.789.123/repo' => '/repo',
':pserver:cvs_user:cvs_password@cvs_server:/repo' => '/repo',
':pserver:cvs_user:cvs_password@cvs_server:9876/repo' => '/repo',
':pserver:cvs_user:cvs_password@cvs_server/repo' => '/repo',
':pserver:cvs_user:cvs_password@cvs_server/path/repo' => '/path/repo',
':ext:cvsservername:/path' => '/path'
}
to_test.each do |string, expected|
assert_equal expected, Redmine::Scm::Adapters::CvsAdapter.new('foo', string).send(:root_url_path), "#{string} failed"
end
end end
private private