summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/requirement.rb2
-rw-r--r--test/rubygems/test_gem_requirement.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/rubygems/requirement.rb b/lib/rubygems/requirement.rb
index 65bc83777e..d9d7c2fbad 100644
--- a/lib/rubygems/requirement.rb
+++ b/lib/rubygems/requirement.rb
@@ -111,7 +111,7 @@ class Gem::Requirement
elsif $1 == ">=" && $2 == "0.a"
DefaultPrereleaseRequirement
else
- [$1 || "=", Gem::Version.new($2)]
+ [-($1 || "="), Gem::Version.new($2)]
end
end
diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb
index 55a902dc83..af9d807701 100644
--- a/test/rubygems/test_gem_requirement.rb
+++ b/test/rubygems/test_gem_requirement.rb
@@ -81,6 +81,12 @@ class TestGemRequirement < Gem::TestCase
Gem::Requirement.parse(Gem::Version.new('2'))
end
+ if RUBY_VERSION >= '2.5'
+ def test_parse_deduplication
+ assert_same '~>', Gem::Requirement.parse('~> 1').first
+ end
+ end
+
def test_parse_bad
[
nil,