Makes Plugin#requires_redmine accept a range of versions (#12299).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10827 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2012-11-17 10:55:38 +00:00
parent b3cf67cad4
commit 4bd1e887d9
2 changed files with 52 additions and 18 deletions
+25 -10
View File
@@ -87,6 +87,7 @@ class Redmine::PluginTest < ActiveSupport::TestCase
plugin = Redmine::Plugin.register(:foo) {}
Redmine::VERSION.stubs(:to_a).returns([2, 1, 3, "stable", 10817])
# Specific version without hash
assert plugin.requires_redmine('2.1.3')
assert plugin.requires_redmine('2.1')
assert_raise Redmine::PluginRequirementError do
@@ -96,16 +97,7 @@ class Redmine::PluginTest < ActiveSupport::TestCase
plugin.requires_redmine('2.2')
end
assert plugin.requires_redmine(:version_or_higher => '0.1.0')
assert plugin.requires_redmine(:version_or_higher => '2.1.3')
assert plugin.requires_redmine(:version_or_higher => '2.1')
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version_or_higher => '2.2.0')
end
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version_or_higher => '2.2')
end
# Specific version
assert plugin.requires_redmine(:version => '2.1.3')
assert plugin.requires_redmine(:version => ['2.1.3', '2.2.0'])
assert plugin.requires_redmine(:version => '2.1')
@@ -118,6 +110,29 @@ class Redmine::PluginTest < ActiveSupport::TestCase
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version => '2.2')
end
# Version range
assert plugin.requires_redmine(:version => '2.0.0'..'2.2.4')
assert plugin.requires_redmine(:version => '2.1.3'..'2.2.4')
assert plugin.requires_redmine(:version => '2.0.0'..'2.1.3')
assert plugin.requires_redmine(:version => '2.0'..'2.2')
assert plugin.requires_redmine(:version => '2.1'..'2.2')
assert plugin.requires_redmine(:version => '2.0'..'2.1')
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version => '2.1.4'..'2.2.4')
end
# Version or higher
assert plugin.requires_redmine(:version_or_higher => '0.1.0')
assert plugin.requires_redmine(:version_or_higher => '2.1.3')
assert plugin.requires_redmine(:version_or_higher => '2.1')
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version_or_higher => '2.2.0')
end
assert_raise Redmine::PluginRequirementError do
plugin.requires_redmine(:version_or_higher => '2.2')
end
end
def test_requires_redmine_plugin