From a6c92a85e418dd9b748e37d0f4445784ad1e9c71 Mon Sep 17 00:00:00 2001 From: drbrain Date: Wed, 27 Feb 2013 23:20:57 +0000 Subject: * lib/rubygems/available_set.rb: Undent for style * lib/rubygems/dependency_installer.rb: Pick latest prerelease gem to install. Fixes RubyGems bug #468. * test/rubygems/test_gem_dependency_installer.rb: Test for the above. * lib/rubygems/dependency_installer.rb: Don't display "Done installing documentation" if documentation will not be installed. * lib/rubygems/rdoc.rb: ditto * lib/rubygems/dependency_list.rb: Use Array#concat for Ruby 1.x performance. * lib/rubygems/installer.rb: Use formatted program name when comparing executables. RubyGems pull request #471 * test/rubygems/test_gem_installer.rb: Test for the above. * lib/rubygems/package.rb: Use more explicit feature check to work around JRuby bug #552 * lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem: Added GeoTrust root certificate. * test/rubygems/test_gem_source_list.rb: Use "example" instead of real hostname git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_gem_dependency_installer.rb | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'test/rubygems/test_gem_dependency_installer.rb') diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index d515505922..bfebc6f63b 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -35,6 +35,61 @@ class TestGemDependencyInstaller < Gem::TestCase util_reset_gems end + def test_available_set_for_name + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new + + available = inst.available_set_for 'a', Gem::Requirement.default + + assert_equal %w[a-1], available.set.map { |s| s.spec.full_name } + end + + def test_available_set_for_name_prerelease + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new :prerelease => true + + available = inst.available_set_for 'a', Gem::Requirement.default + + assert_equal %w[a-10.a], + available.sorted.map { |s| s.spec.full_name } + end + + def test_available_set_for_dep + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new + + dep = Gem::Dependency.new 'a', Gem::Requirement.default + + available = inst.available_set_for dep, Gem::Requirement.default + + assert_equal %w[a-1], available.set.map { |s| s.spec.full_name } + end + + def test_available_set_for_dep_prerelease + util_setup_gems + p1a, gem = util_gem 'a', '10.a' + util_setup_spec_fetcher p1a, @a1, @a1_pre + + inst = Gem::DependencyInstaller.new :prerelease => true + + dep = Gem::Dependency.new 'a', Gem::Requirement.default + dep.prerelease = true + + available = inst.available_set_for dep, Gem::Requirement.default + + assert_equal %w[a-10.a], + available.sorted.map { |s| s.spec.full_name } + end + def test_install util_setup_gems -- cgit v1.2.3