diff options
Diffstat (limited to 'test/rubygems/test_gem_dependency_resolver.rb')
-rw-r--r-- | test/rubygems/test_gem_dependency_resolver.rb | 31 |
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 + |