diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-09-14 03:30:02 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-09-14 03:30:02 +0000 |
commit | 4de117a61517e839f2c45eaf45d56fc243d6d5b2 (patch) | |
tree | 7cb5af7a7eb513e5dddf5e343746b1611e628387 /test/rubygems/test_gem_resolver_best_set.rb | |
parent | e548c09d429a5136285ea81aed418685359ed124 (diff) | |
download | ruby-4de117a61517e839f2c45eaf45d56fc243d6d5b2.tar.gz |
* lib/rubygems: Update to RubyGems 2.4.1 master(713ab65)
Complete history at:
https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_resolver_best_set.rb')
-rw-r--r-- | test/rubygems/test_gem_resolver_best_set.rb | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_resolver_best_set.rb b/test/rubygems/test_gem_resolver_best_set.rb index 2d16f8b701..055438c89b 100644 --- a/test/rubygems/test_gem_resolver_best_set.rb +++ b/test/rubygems/test_gem_resolver_best_set.rb @@ -32,6 +32,26 @@ class TestGemResolverBestSet < Gem::TestCase assert_equal %w[a-1], found.map { |s| s.full_name } end + def test_find_all_fallback + spec_fetcher do |fetcher| + fetcher.spec 'a', 1 + end + + set = @DR::BestSet.new + + api_uri = URI(@gem_repo) + './api/v1/dependencies' + + set.sets << Gem::Resolver::APISet.new(api_uri) + + dependency = dep 'a', '~> 1' + + req = @DR::DependencyRequest.new dependency, nil + + found = set.find_all req + + assert_equal %w[a-1], found.map { |s| s.full_name } + end + def test_find_all_local spec_fetcher do |fetcher| fetcher.spec 'a', 1 @@ -76,5 +96,42 @@ class TestGemResolverBestSet < Gem::TestCase assert_empty set.sets end + def test_replace_failed_api_set + set = @DR::BestSet.new + + api_uri = URI(@gem_repo) + './api/v1/dependencies' + api_set = Gem::Resolver::APISet.new api_uri + + set.sets << api_set + + error_uri = api_uri + '?gems=a' + + error = Gem::RemoteFetcher::FetchError.new 'bogus', error_uri + + set.replace_failed_api_set error + + assert_equal 1, set.sets.size + + refute_includes set.sets, api_set + + assert_kind_of Gem::Resolver::IndexSet, set.sets.first + end + + def test_replace_failed_api_set_no_api_set + set = @DR::BestSet.new + + index_set = Gem::Resolver::IndexSet.new Gem::Source.new @gem_repo + + set.sets << index_set + + error = Gem::RemoteFetcher::FetchError.new 'bogus', @gem_repo + + e = assert_raises Gem::RemoteFetcher::FetchError do + set.replace_failed_api_set error + end + + assert_equal error, e + end + end |