diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2022-08-01 09:56:39 +0200 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-08-03 06:56:18 +0900 |
commit | 20936eb3a95f3564e565f59228a35453ae94eee3 (patch) | |
tree | 77b5764ec94ec8e6597e365219b61c250f38bcf5 /test | |
parent | eaf6189fe59ac4839d3a04bf7f9552fc22f09471 (diff) |
[rubygems/rubygems] Warn (rather than crash) when setting `nil` specification versions
https://github.com/rubygems/rubygems/commit/a4ba1a4d97
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/test_gem_requirement.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_gem_specification.rb | 9 | ||||
-rw-r--r-- | test/rubygems/test_gem_version.rb | 11 |
3 files changed, 27 insertions, 5 deletions
diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb index 37137dbdad..5ecdbeddae 100644 --- a/test/rubygems/test_gem_requirement.rb +++ b/test/rubygems/test_gem_requirement.rb @@ -129,7 +129,9 @@ class TestGemRequirement < Gem::TestCase assert_satisfied_by "1.3", r assert_raise ArgumentError do - assert_satisfied_by nil, r + Gem::Deprecate.skip_during do + assert_satisfied_by nil, r + end end end @@ -141,7 +143,9 @@ class TestGemRequirement < Gem::TestCase refute_satisfied_by "1.3", r assert_raise ArgumentError do - assert_satisfied_by nil, r + Gem::Deprecate.skip_during do + assert_satisfied_by nil, r + end end end @@ -153,7 +157,9 @@ class TestGemRequirement < Gem::TestCase refute_satisfied_by "1.3", r assert_raise ArgumentError do - assert_satisfied_by nil, r + Gem::Deprecate.skip_during do + assert_satisfied_by nil, r + end end end diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 6117e81a81..cf0dba4331 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1220,6 +1220,15 @@ dependencies: [] assert_equal "1.0.0.dev", spec.version.to_s end + def test_initialize_nil_version + expected = "nil versions are discouraged and will be deprecated in Rubygems 4\n" + actual_stdout, actual_stderr = capture_output do + Gem::Specification.new.version = nil + end + assert_empty actual_stdout + assert_equal(expected, actual_stderr) + end + def test__dump @a2.platform = Gem::Platform.local @a2.instance_variable_set :@original_platform, "old_platform" diff --git a/test/rubygems/test_gem_version.rb b/test/rubygems/test_gem_version.rb index e907eabb34..9237608d4a 100644 --- a/test/rubygems/test_gem_version.rb +++ b/test/rubygems/test_gem_version.rb @@ -32,8 +32,15 @@ class TestGemVersion < Gem::TestCase def test_class_create real = Gem::Version.new(1.0) - assert_same real, Gem::Version.create(real) - assert_nil Gem::Version.create(nil) + assert_same real, Gem::Version.create(real) + + expected = "nil versions are discouraged and will be deprecated in Rubygems 4\n" + actual_stdout, actual_stderr = capture_output do + assert_nil Gem::Version.create(nil) + end + assert_empty actual_stdout + assert_equal(expected, actual_stderr) + assert_equal v("5.1"), Gem::Version.create("5.1") ver = "1.1".freeze |