diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index 48d04dcac..7e1fa1763 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -275,7 +275,7 @@ module Redmine def compare_versions(requirement, current) requirement = requirement.split('.').collect(&:to_i) - requirement <=> current.slice(0, requirement.size) + requirement <=> current.slice(0, requirement.size).collect(&:to_i) end private :compare_versions diff --git a/test/unit/lib/redmine/plugin_test.rb b/test/unit/lib/redmine/plugin_test.rb index 92898e181..0672d9d55 100644 --- a/test/unit/lib/redmine/plugin_test.rb +++ b/test/unit/lib/redmine/plugin_test.rb @@ -134,6 +134,8 @@ class Redmine::PluginTest < ActiveSupport::TestCase assert_raise Redmine::PluginRequirementError do plugin.requires_redmine(:version => '2.2') end + assert plugin.requires_redmine(:version => '2.1.3.stable') + assert plugin.requires_redmine(:version => '2.1.3.devel') # Version range assert plugin.requires_redmine(:version => '2.0.0'..'2.2.4') assert plugin.requires_redmine(:version => '2.1.3'..'2.2.4')