aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-10 17:51:40 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-10 17:51:40 +0000
commit4f6779bac7b4e294bc473782d60cbd071f0d0f8d (patch)
treed37b54da20f8c0adf2d98e810aacc8259b0602ff /test/rubygems/test_gem_dependency_installer.rb
parent31d355aaa9436e2b24efd5e6501cabd876267c46 (diff)
downloadruby-4f6779bac7b4e294bc473782d60cbd071f0d0f8d.tar.gz
* lib/rubygems: Update to RubyGems master 4bdc4f2. Important changes
in this commit: RubyGems now chooses the test server port reliably. Patch by akr. Partial implementation of bundler's Gemfile format. Refactorings to improve the new resolver. Fixes bugs in the resolver. * test/rubygems: Tests for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb36
1 files changed, 35 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index 8433be6bd0..f8c3dd493b 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -682,7 +682,7 @@ class TestGemDependencyInstaller < Gem::TestCase
inst.install 'b'
end
- expected = "Unable to resolve dependency: b (= 1) requires a (>= 0)"
+ expected = "Unable to resolve dependency: 'b (= 1)' requires 'a (>= 0)'"
assert_equal expected, e.message
end
@@ -816,6 +816,17 @@ class TestGemDependencyInstaller < Gem::TestCase
assert_equal %w[a-1], inst.installed_gems.map { |s| s.full_name }
end
+ def test_install_platform_is_ignored_when_a_file_is_specified
+ _, a_gem = util_gem 'a', '1' do |s|
+ s.platform = Gem::Platform.new %w[cpu other_platform 1]
+ end
+
+ inst = Gem::DependencyInstaller.new :domain => :local
+ inst.install a_gem
+
+ assert_equal %w[a-1-cpu-other_platform-1], inst.installed_gems.map { |s| s.full_name }
+ end
+
if defined? OpenSSL then
def test_install_security_policy
util_setup_gems
@@ -904,6 +915,29 @@ class TestGemDependencyInstaller < Gem::TestCase
assert_equal Gem::Source.new(@gem_repo), s.source
end
+ def test_find_spec_by_name_and_version_wildcard
+ util_gem 'a', 1
+ FileUtils.mv 'gems/a-1.gem', @tempdir
+
+ FileUtils.touch 'rdoc.gem'
+
+ inst = Gem::DependencyInstaller.new
+
+ available = inst.find_spec_by_name_and_version('*.gem')
+
+ assert_equal %w[a-1], available.each_spec.map { |spec| spec.full_name }
+ end
+
+ def test_find_spec_by_name_and_version_wildcard_bad_gem
+ FileUtils.touch 'rdoc.gem'
+
+ inst = Gem::DependencyInstaller.new
+
+ assert_raises Gem::Package::FormatError do
+ inst.find_spec_by_name_and_version '*.gem'
+ end
+ end
+
def test_find_spec_by_name_and_version_bad_gem
FileUtils.touch 'rdoc.gem'