aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb28
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"]