diff options
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r-- | test/rubygems/test_gem_dependency_installer.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb index 8a0470761e..82640068e4 100644 --- a/test/rubygems/test_gem_dependency_installer.rb +++ b/test/rubygems/test_gem_dependency_installer.rb @@ -14,6 +14,14 @@ class TestGemDependencyInstaller < Gem::TestCase FileUtils.mkdir @gems_dir Gem::RemoteFetcher.fetcher = @fetcher = Gem::FakeFetcher.new + + @original_platforms = Gem.platforms + Gem.platforms = [] + end + + def teardown + Gem.platforms = @original_platforms + super end def util_setup_gems @@ -272,7 +280,7 @@ class TestGemDependencyInstaller < Gem::TestCase # This asserts that if a gem's dependency is satisfied by an # already installed gem, RubyGems doesn't installed a newer # version - def test_install_doesnt_upgrade_installed_depedencies + def test_install_doesnt_upgrade_installed_dependencies util_setup_gems a2, a2_gem = util_gem 'a', '2' @@ -1084,6 +1092,24 @@ class TestGemDependencyInstaller < Gem::TestCase assert_equal [@a1_pre, @a1], prereleases end + def test_find_gems_with_sources_with_best_only_and_platform + util_setup_gems + a1_x86_mingw32, = util_gem 'a', '1' do |s| + s.platform = 'x86-mingw32' + end + util_setup_spec_fetcher @a1, a1_x86_mingw32 + Gem.platforms << Gem::Platform.new('x86-mingw32') + + installer = Gem::DependencyInstaller.new + + dependency = Gem::Dependency.new('a', Gem::Requirement.default) + + releases = + installer.find_gems_with_sources(dependency, true).all_specs + + assert_equal [a1_x86_mingw32], releases + end + def test_find_gems_with_sources_with_bad_source Gem.sources.replace ["http://not-there.nothing"] |