diff options
Diffstat (limited to 'test/rubygems/test_gem_dependency_resolver_index_set.rb')
-rw-r--r-- | test/rubygems/test_gem_dependency_resolver_index_set.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency_resolver_index_set.rb b/test/rubygems/test_gem_dependency_resolver_index_set.rb new file mode 100644 index 0000000000..82ea486792 --- /dev/null +++ b/test/rubygems/test_gem_dependency_resolver_index_set.rb @@ -0,0 +1,53 @@ +require 'rubygems/test_case' +require 'rubygems/dependency_resolver' + +class TestGemDependencyResolverIndexSet < Gem::TestCase + + def test_load_spec + @fetcher = Gem::FakeFetcher.new + Gem::RemoteFetcher.fetcher = @fetcher + + a_2 = quick_spec 'a', 2 + a_2_p = quick_spec 'a', 2 do |s| s.platform = Gem::Platform.local end + + Gem::Specification.add_specs a_2, a_2_p + + util_setup_spec_fetcher a_2, a_2_p + + source = Gem::Source.new @gem_repo + version = v 2 + + set = Gem::DependencyResolver::IndexSet.new + + spec = set.load_spec 'a', version, Gem::Platform.local, source + + assert_equal a_2_p.full_name, spec.full_name + end + + def test_load_spec_cached + @fetcher = Gem::FakeFetcher.new + Gem::RemoteFetcher.fetcher = @fetcher + + a_2 = quick_spec 'a', 2 + a_2_p = quick_spec 'a', 2 do |s| s.platform = Gem::Platform.local end + + Gem::Specification.add_specs a_2, a_2_p + + util_setup_spec_fetcher a_2, a_2_p + + source = Gem::Source.new @gem_repo + version = v 2 + + set = Gem::DependencyResolver::IndexSet.new + + first = set.load_spec 'a', version, Gem::Platform.local, source + + util_setup_spec_fetcher # clear + + second = set.load_spec 'a', version, Gem::Platform.local, source + + assert_same first, second + end + +end + |