Adds MercurialAdapter.client_version and prevent @hg --version@ to be called on each request.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1628 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-07-05 09:39:00 +00:00
parent 12fbd06c02
commit 29fb8db936
2 changed files with 62 additions and 54 deletions
+28 -24
View File
@@ -10,37 +10,41 @@ begin
REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository'
def test_version_template_0_9_5
# 0.9.5
test_version_template_for("0.9.5", [0,9,5], "0.9.5")
def test_hgversion
to_test = { "0.9.5" => [0,9,5],
"1.0" => [1,0],
"1e4ddc9ac9f7+20080325" => nil,
"1.0.1+20080525" => [1,0,1],
"1916e629a29d" => nil}
to_test.each do |s, v|
test_hgversion_for(s, v)
end
end
def test_version_template_1_0
# 1.0
test_version_template_for("1.0", [1,0], "1.0")
end
def test_version_template_1_0_win
test_version_template_for("1e4ddc9ac9f7+20080325", "Unknown version", "1.0")
end
def test_version_template_1_0_1_win
test_version_template_for("1.0.1+20080525", [1,0,1], "1.0")
end
def test_version_template_changeset_id
test_version_template_for("1916e629a29d", "Unknown version", "1.0")
def test_template_path
to_test = { [0,9,5] => "0.9.5",
[1,0] => "1.0",
"Unknown version" => "1.0",
[1,0,1] => "1.0"}
to_test.each do |v, template|
test_template_path_for(v, template)
end
end
private
def test_version_template_for(hgversion, version, templateversion)
Redmine::Scm::Adapters::MercurialAdapter.any_instance.stubs(:hgversion_from_command_line).returns(hgversion)
adapter = Redmine::Scm::Adapters::MercurialAdapter.new(REPOSITORY_PATH)
def test_hgversion_for(hgversion, version)
Redmine::Scm::Adapters::MercurialAdapter.expects(:hgversion_from_command_line).returns(hgversion)
adapter = Redmine::Scm::Adapters::MercurialAdapter
assert_equal version, adapter.hgversion
assert_equal "#{TEMPLATES_DIR}/#{TEMPLATE_NAME}-#{templateversion}.#{TEMPLATE_EXTENSION}", adapter.template_path
assert File.exist?(adapter.template_path)
end
def test_template_path_for(version, template)
adapter = Redmine::Scm::Adapters::MercurialAdapter
assert_equal "#{TEMPLATES_DIR}/#{TEMPLATE_NAME}-#{template}.#{TEMPLATE_EXTENSION}", adapter.template_path_for(version)
assert File.exist?(adapter.template_path_for(version))
end
end