summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb52
1 files changed, 28 insertions, 24 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index 237c0a02a4..80f6cd21fd 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -1,4 +1,10 @@
-require_relative 'gemutilities'
+######################################################################
+# This file is imported from the rubygems project.
+# DO NOT make modifications in this repo. They _will_ be reverted!
+# File a patch instead and assign it to Ryan Davis or Eric Hodel.
+######################################################################
+
+require "test/rubygems/gemutilities"
require 'rubygems/dependency_installer'
class TestGemDependencyInstaller < RubyGemTestCase
@@ -44,20 +50,20 @@ class TestGemDependencyInstaller < RubyGemTestCase
s.platform = Gem::Platform.new %w[cpu other_platform 1]
end
- @w1, @w1_gem = util_gem 'w', '1' do |s| s.add_dependency 'x' end
+ @w1, @w1_gem = util_gem 'w', '1', 'x' => nil
@y1, @y1_gem = util_gem 'y', '1'
@y1_1_p, @y1_1_p_gem = util_gem 'y', '1.1' do |s|
s.platform = Gem::Platform.new %w[cpu my_platform 1]
end
- @z1, @z1_gem = util_gem 'z', '1' do |s| s.add_dependency 'y' end
+ @z1, @z1_gem = util_gem 'z', '1', 'y' => nil
@fetcher = Gem::FakeFetcher.new
Gem::RemoteFetcher.fetcher = @fetcher
- si = util_setup_spec_fetcher(@a1, @a1_pre, @b1, @b1_pre, @c1_pre, @d1, @d2,
- @x1_m, @x1_o, @w1, @y1, @y1_1_p, @z1)
+ util_setup_spec_fetcher(@a1, @a1_pre, @b1, @b1_pre, @c1_pre, @d1, @d2,
+ @x1_m, @x1_o, @w1, @y1, @y1_1_p, @z1)
util_clear_gems
end
@@ -78,7 +84,7 @@ class TestGemDependencyInstaller < RubyGemTestCase
end
def test_install_all_dependencies
- e1, e1_gem = util_gem 'e', '1' do |s|
+ _, e1_gem = util_gem 'e', '1' do |s|
s.add_dependency 'b'
end
@@ -190,9 +196,9 @@ class TestGemDependencyInstaller < RubyGemTestCase
end
def test_install_dependency_old
- e1, e1_gem = util_gem 'e', '1'
- f1, f1_gem = util_gem 'f', '1' do |s| s.add_dependency 'e' end
- f2, f2_gem = util_gem 'f', '2'
+ _, e1_gem = util_gem 'e', '1'
+ _, f1_gem = util_gem 'f', '1', 'e' => nil
+ _, f2_gem = util_gem 'f', '2'
FileUtils.mv e1_gem, @tempdir
FileUtils.mv f1_gem, @tempdir
@@ -607,27 +613,25 @@ class TestGemDependencyInstaller < RubyGemTestCase
assert_equal [@a1_pre], prereleases
end
- def test_gather_dependencies
+ def assert_resolve expected, *specs
+ util_clear_gems
+
+ util_setup_spec_fetcher(*specs)
+
inst = Gem::DependencyInstaller.new
- inst.find_spec_by_name_and_version 'b'
+ inst.find_spec_by_name_and_version 'a'
inst.gather_dependencies
- assert_equal %w[a-1 b-1], inst.gems_to_install.map { |s| s.full_name }
+ actual = inst.gems_to_install.map { |s| s.full_name }
+ assert_equal expected, actual
end
- def test_gather_dependencies_dropped
- b2, = util_gem 'b', '2'
- c1, = util_gem 'c', '1' do |s| s.add_dependency 'b' end
-
- util_clear_gems
-
- si = util_setup_spec_fetcher @a1, @b1, b2, c1
-
+ def test_gather_dependencies
inst = Gem::DependencyInstaller.new
- inst.find_spec_by_name_and_version 'c'
+ inst.find_spec_by_name_and_version 'b'
inst.gather_dependencies
- assert_equal %w[b-2 c-1], inst.gems_to_install.map { |s| s.full_name }
+ assert_equal %w[a-1 b-1], inst.gems_to_install.map { |s| s.full_name }
end
def test_gather_dependencies_platform_alternate
@@ -659,11 +663,11 @@ class TestGemDependencyInstaller < RubyGemTestCase
end
def test_gather_dependencies_old_required
- e1, = util_gem 'e', '1' do |s| s.add_dependency 'd', '= 1' end
+ e1, = util_gem 'e', '1', 'd' => '= 1'
util_clear_gems
- si = util_setup_spec_fetcher @d1, @d2, e1
+ util_setup_spec_fetcher @d1, @d2, e1
inst = Gem::DependencyInstaller.new
inst.find_spec_by_name_and_version 'e'