summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_requirement.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_requirement.rb')
-rw-r--r--test/rubygems/test_gem_requirement.rb105
1 files changed, 60 insertions, 45 deletions
diff --git a/test/rubygems/test_gem_requirement.rb b/test/rubygems/test_gem_requirement.rb
index b4367681d0..de0d11ec00 100644
--- a/test/rubygems/test_gem_requirement.rb
+++ b/test/rubygems/test_gem_requirement.rb
@@ -1,14 +1,23 @@
# frozen_string_literal: true
-require_relative 'helper'
+
+require_relative "helper"
require "rubygems/requirement"
class TestGemRequirement < Gem::TestCase
def test_concat
- r = req '>= 1'
+ r = req ">= 1"
+
+ r.concat ["< 2"]
+
+ assert_equal [[">=", v(1)], ["<", v(2)]], r.requirements
+ end
- r.concat ['< 2']
+ def test_initialize_copy
+ r = req("= 1.2")
+ r2 = r.dup
- assert_equal [['>=', v(1)], ['<', v(2)]], r.requirements
+ assert_equal r.requirements, r2.requirements
+ refute_same r.requirements, r2.requirements
end
def test_equals2
@@ -60,42 +69,42 @@ class TestGemRequirement < Gem::TestCase
end
def test_for_lockfile
- assert_equal ' (~> 1.0)', req('~> 1.0').for_lockfile
+ assert_equal " (~> 1.0)", req("~> 1.0").for_lockfile
- assert_equal ' (~> 1.0, >= 1.0.1)', req('>= 1.0.1', '~> 1.0').for_lockfile
+ assert_equal " (~> 1.0, >= 1.0.1)", req(">= 1.0.1", "~> 1.0").for_lockfile
- duped = req '= 1.0'
- duped.requirements << ['=', v('1.0')]
+ duped = req "= 1.0"
+ duped.requirements << ["=", v("1.0")]
- assert_equal ' (= 1.0)', duped.for_lockfile
+ assert_equal " (= 1.0)", duped.for_lockfile
assert_nil Gem::Requirement.default.for_lockfile
end
def test_parse
- assert_equal ['=', Gem::Version.new(1)], Gem::Requirement.parse(' 1')
- assert_equal ['=', Gem::Version.new(1)], Gem::Requirement.parse('= 1')
- assert_equal ['>', Gem::Version.new(1)], Gem::Requirement.parse('> 1')
- assert_equal ['=', Gem::Version.new(1)], Gem::Requirement.parse("=\n1")
- assert_equal ['=', Gem::Version.new(1)], Gem::Requirement.parse('1.0')
+ assert_equal ["=", Gem::Version.new(1)], Gem::Requirement.parse(" 1")
+ assert_equal ["=", Gem::Version.new(1)], Gem::Requirement.parse("= 1")
+ assert_equal [">", Gem::Version.new(1)], Gem::Requirement.parse("> 1")
+ assert_equal ["=", Gem::Version.new(1)], Gem::Requirement.parse("=\n1")
+ assert_equal ["=", Gem::Version.new(1)], Gem::Requirement.parse("1.0")
- assert_equal ['=', Gem::Version.new(2)],
- Gem::Requirement.parse(Gem::Version.new('2'))
+ assert_equal ["=", Gem::Version.new(2)],
+ Gem::Requirement.parse(Gem::Version.new("2"))
end
- if RUBY_VERSION >= '2.5' && !(Gem.java_platform? && ENV["JRUBY_OPTS"] =~ /--debug/)
+ unless Gem.java_platform? && ENV["JRUBY_OPTS"].to_s.include?("--debug")
def test_parse_deduplication
- assert_same '~>', Gem::Requirement.parse('~> 1').first
+ assert_same "~>", Gem::Requirement.parse("~> 1").first
end
end
def test_parse_bad
[
nil,
- '',
- '! 1',
- '= junk',
- '1..2',
+ "",
+ "! 1",
+ "= junk",
+ "1..2",
].each do |bad|
e = assert_raise Gem::Requirement::BadRequirementError do
Gem::Requirement.parse bad
@@ -108,28 +117,30 @@ class TestGemRequirement < Gem::TestCase
end
def test_prerelease_eh
- r = req '= 1'
+ r = req "= 1"
refute r.prerelease?
- r = req '= 1.a'
+ r = req "= 1.a"
assert r.prerelease?
- r = req '> 1.a', '< 2'
+ r = req "> 1.a", "< 2"
assert r.prerelease?
end
def test_satisfied_by_eh_bang_equal
- r = req '!= 1.2'
+ r = req "!= 1.2"
assert_satisfied_by "1.1", r
refute_satisfied_by "1.2", r
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 +152,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 +166,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
@@ -280,7 +295,7 @@ class TestGemRequirement < Gem::TestCase
end
def test_illformed_requirements
- [ ">>> 1.3.5", "> blah" ].each do |rq|
+ [">>> 1.3.5", "> blah"].each do |rq|
assert_raise Gem::Requirement::BadRequirementError, "req [#{rq}] should fail" do
Gem::Requirement.new rq
end
@@ -362,16 +377,16 @@ class TestGemRequirement < Gem::TestCase
end
def test_specific
- refute req('> 1') .specific?
- refute req('>= 1').specific?
+ refute req("> 1") .specific?
+ refute req(">= 1").specific?
- assert req('!= 1').specific?
- assert req('< 1') .specific?
- assert req('<= 1').specific?
- assert req('= 1') .specific?
- assert req('~> 1').specific?
+ assert req("!= 1").specific?
+ assert req("< 1") .specific?
+ assert req("<= 1").specific?
+ assert req("= 1") .specific?
+ assert req("~> 1").specific?
- assert req('> 1', '> 2').specific? # GIGO
+ assert req("> 1", "> 2").specific? # GIGO
end
def test_bad
@@ -392,12 +407,12 @@ class TestGemRequirement < Gem::TestCase
end
def test_hash_with_multiple_versions
- r1 = req('1.0', '2.0')
- r2 = req('2.0', '1.0')
+ r1 = req("1.0", "2.0")
+ r2 = req("2.0", "1.0")
assert_equal r1.hash, r2.hash
- r1 = req('1.0', '2.0').tap {|r| r.concat(['3.0']) }
- r2 = req('3.0', '1.0').tap {|r| r.concat(['2.0']) }
+ r1 = req("1.0", "2.0").tap {|r| r.concat(["3.0"]) }
+ r2 = req("3.0", "1.0").tap {|r| r.concat(["2.0"]) }
assert_equal r1.hash, r2.hash
end
@@ -430,19 +445,19 @@ class TestGemRequirement < Gem::TestCase
end
def test_marshal_load_attack
- wa = Net::WriteAdapter.allocate
+ wa = Gem::Net::WriteAdapter.allocate
wa.instance_variable_set(:@socket, self.class)
wa.instance_variable_set(:@method_id, :exploit)
request_set = Gem::RequestSet.allocate
request_set.instance_variable_set(:@git_set, "id")
request_set.instance_variable_set(:@sets, wa)
- wa = Net::WriteAdapter.allocate
+ wa = Gem::Net::WriteAdapter.allocate
wa.instance_variable_set(:@socket, request_set)
wa.instance_variable_set(:@method_id, :resolve)
ent = Gem::Package::TarReader::Entry.allocate
ent.instance_variable_set(:@read, 0)
ent.instance_variable_set(:@header, "aaa")
- io = Net::BufferedIO.allocate
+ io = Gem::Net::BufferedIO.allocate
io.instance_variable_set(:@io, ent)
io.instance_variable_set(:@debug_output, wa)
reader = Gem::Package::TarReader.allocate