summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_version.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-27 10:05:04 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-27 10:05:04 +0000
commit85d461456c154d7b4a72b20369e0d65d7880ce02 (patch)
tree21e1be2c786c8040a426841768e046fb4dc365b1 /test/rubygems/test_gem_version.rb
parent3a83ba90c35833bab757998def36cfe872dec461 (diff)
Merge master branch from rubygems upstream.
* It's preparation to release RubyGems 3.0.0.beta2 and Ruby 2.6.0 preview 3. * https://github.com/rubygems/rubygems/compare/v3.0.0.beta1...fad2eb15a282b19dfcb4b48bc95b8b39ebb4511f git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_version.rb')
-rw-r--r--test/rubygems/test_gem_version.rb32
1 files changed, 29 insertions, 3 deletions
diff --git a/test/rubygems/test_gem_version.rb b/test/rubygems/test_gem_version.rb
index bddae7fdc3..a2572fb611 100644
--- a/test/rubygems/test_gem_version.rb
+++ b/test/rubygems/test_gem_version.rb
@@ -46,7 +46,11 @@ class TestGemVersion < Gem::TestCase
def test_class_correct
assert_equal true, Gem::Version.correct?("5.1")
assert_equal false, Gem::Version.correct?("an incorrect version")
- assert_equal false, Gem::Version.correct?(nil)
+
+ expected = "nil versions are discouraged and will be deprecated in Rubygems 4\n"
+ assert_output nil, expected do
+ Gem::Version.correct?(nil)
+ end
end
def test_class_new_subclass
@@ -158,11 +162,25 @@ class TestGemVersion < Gem::TestCase
def test_approximate_recommendation
assert_approximate_equal "~> 1.0", "1"
+ assert_approximate_satisfies_itself "1"
+
assert_approximate_equal "~> 1.0", "1.0"
+ assert_approximate_satisfies_itself "1.0"
+
assert_approximate_equal "~> 1.2", "1.2"
+ assert_approximate_satisfies_itself "1.2"
+
assert_approximate_equal "~> 1.2", "1.2.0"
+ assert_approximate_satisfies_itself "1.2.0"
+
assert_approximate_equal "~> 1.2", "1.2.3"
- assert_approximate_equal "~> 1.2", "1.2.3.a.4"
+ assert_approximate_satisfies_itself "1.2.3"
+
+ assert_approximate_equal "~> 1.2.a", "1.2.3.a.4"
+ assert_approximate_satisfies_itself "1.2.3.a.4"
+
+ assert_approximate_equal "~> 1.9.a", "1.9.0.dev"
+ assert_approximate_satisfies_itself "1.9.0.dev"
end
def test_to_s
@@ -198,12 +216,20 @@ class TestGemVersion < Gem::TestCase
assert v(version).prerelease?, "#{version} is a prerelease"
end
- # Assert that +expected+ is the "approximate" recommendation for +version".
+ # Assert that +expected+ is the "approximate" recommendation for +version+.
def assert_approximate_equal expected, version
assert_equal expected, v(version).approximate_recommendation
end
+ # Assert that the "approximate" recommendation for +version+ satifies +version+.
+
+ def assert_approximate_satisfies_itself version
+ gem_version = v(version)
+
+ assert Gem::Requirement.new(gem_version.approximate_recommendation).satisfied_by?(gem_version)
+ end
+
# Assert that bumping the +unbumped+ version yields the +expected+.
def assert_bumped_version_equal expected, unbumped