aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_dependency_resolver.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_dependency_resolver.rb')
-rw-r--r--test/rubygems/test_gem_dependency_resolver.rb31
1 files changed, 25 insertions, 6 deletions
diff --git a/test/rubygems/test_gem_dependency_resolver.rb b/test/rubygems/test_gem_dependency_resolver.rb
index 38f3d868ea..47eef8cc55 100644
--- a/test/rubygems/test_gem_dependency_resolver.rb
+++ b/test/rubygems/test_gem_dependency_resolver.rb
@@ -68,23 +68,28 @@ class TestGemDependencyResolver < Gem::TestCase
def test_picks_best_platform
is = Gem::DependencyResolver::IndexSpecification
- a2_p = quick_spec 'a' do |s| s.platform = Gem::Platform.local end
- version = Gem::Version.new 2
+ unknown = Gem::Platform.new 'unknown'
+ a2_p1 = quick_spec 'a', 2 do |s| s.platform = Gem::Platform.local end
+ a3_p2 = quick_spec 'a', 3 do |s| s.platform = unknown end
+ v2 = v(2)
+ v3 = v(3)
source = Gem::Source.new @gem_repo
s = set
- a2 = is.new s, 'a', version, source, Gem::Platform::RUBY
- a2_p = is.new s, 'a', version, source, Gem::Platform.local.to_s
+ a2 = is.new s, 'a', v2, source, Gem::Platform::RUBY
+ a2_p1 = is.new s, 'a', v2, source, Gem::Platform.local.to_s
+ a3_p2 = is.new s, 'a', v3, source, unknown
- s.add a2_p
+ s.add a3_p2
+ s.add a2_p1
s.add a2
ad = make_dep "a"
res = Gem::DependencyResolver.new([ad], s)
- assert_set [a2_p], res.resolve
+ assert_set [a2_p1], res.resolve
end
def test_only_returns_spec_once
@@ -348,4 +353,18 @@ class TestGemDependencyResolver < Gem::TestCase
assert_set [b1, c1, d2], r.resolve
end
+
+ def test_select_local_platforms
+ r = Gem::DependencyResolver.new nil, nil
+
+ a1 = quick_spec 'a', 1
+ a1_p1 = quick_spec 'a', 1 do |s| s.platform = Gem::Platform.local end
+ a1_p2 = quick_spec 'a', 1 do |s| s.platform = 'unknown' end
+
+ selected = r.select_local_platforms [a1, a1_p1, a1_p2]
+
+ assert_equal [a1, a1_p1], selected
+ end
+
end
+