summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2009-12-16 02:07:46 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2009-12-16 02:07:46 +0000
commit39b44b1cb94f68514bf9ce7ae76ee7228bf6ce07 (patch)
tree2b5dab3d94e2285d7b6e84aa9c2a0c94ad82dfb5 /test
parent1c11d3403e4ed3518d51ef3d44cefc3cb1f6d548 (diff)
downloadredmine-39b44b1cb94f68514bf9ce7ae76ee7228bf6ce07.tar.gz
redmine-39b44b1cb94f68514bf9ce7ae76ee7228bf6ce07.zip
Adds a Plugin API to allow one plugin to depend on another.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3175 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/unit/lib/redmine/plugin_test.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/unit/lib/redmine/plugin_test.rb b/test/unit/lib/redmine/plugin_test.rb
index 234da14ea..57e2b985e 100644
--- a/test/unit/lib/redmine/plugin_test.rb
+++ b/test/unit/lib/redmine/plugin_test.rb
@@ -75,4 +75,43 @@ class Redmine::PluginTest < ActiveSupport::TestCase
end
end
end
+
+ def test_requires_redmine_plugin
+ test = self
+ other_version = '0.5.0'
+
+ @klass.register :other do
+ name 'Other'
+ version other_version
+ end
+
+ @klass.register :foo do
+ test.assert requires_redmine_plugin(:other, :version_or_higher => '0.1.0')
+ test.assert requires_redmine_plugin(:other, :version_or_higher => other_version)
+ test.assert requires_redmine_plugin(:other, other_version)
+ test.assert_raise Redmine::PluginRequirementError do
+ requires_redmine_plugin(:other, :version_or_higher => '99.0.0')
+ end
+
+ test.assert requires_redmine_plugin(:other, :version => other_version)
+ test.assert requires_redmine_plugin(:other, :version => [other_version, '99.0.0'])
+ test.assert_raise Redmine::PluginRequirementError do
+ requires_redmine_plugin(:other, :version => '99.0.0')
+ end
+ test.assert_raise Redmine::PluginRequirementError do
+ requires_redmine_plugin(:other, :version => ['98.0.0', '99.0.0'])
+ end
+ # Missing plugin
+ test.assert_raise Redmine::PluginNotFound do
+ requires_redmine_plugin(:missing, :version_or_higher => '0.1.0')
+ end
+ test.assert_raise Redmine::PluginNotFound do
+ requires_redmine_plugin(:missing, '0.1.0')
+ end
+ test.assert_raise Redmine::PluginNotFound do
+ requires_redmine_plugin(:missing, :version => '0.1.0')
+ end
+
+ end
+ end
end