summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_dependency_installer.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-07 22:17:08 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-07 22:17:08 +0000
commitbab42629ebff81cf5d8117f91bd536b3b2ac4a48 (patch)
tree8a92a4bebd2ce0f7c1b733886221cf024b04d595 /test/rubygems/test_gem_dependency_installer.rb
parent972041696f8fd9506e4e0355ed1df04f78591035 (diff)
* lib/rubygems/dependency_installer.rb: Only install local gems if
they end in '.gem'. Fixes github rubygems issue #407. * test/rubygems/test_gem_dependency_installer.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_dependency_installer.rb')
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_dependency_installer.rb b/test/rubygems/test_gem_dependency_installer.rb
index 0d1a564fc7..bbab5fe91e 100644
--- a/test/rubygems/test_gem_dependency_installer.rb
+++ b/test/rubygems/test_gem_dependency_installer.rb
@@ -794,6 +794,19 @@ class TestGemDependencyInstaller < Gem::TestCase
assert_equal Gem::Source.new(@gem_repo), s.source
end
+ def test_find_spec_by_name_and_version_bad_gem
+ FileUtils.touch 'rdoc.gem'
+
+ inst = Gem::DependencyInstaller.new
+
+ e = assert_raises Gem::Package::FormatError do
+ inst.find_spec_by_name_and_version 'rdoc.gem'
+ end
+
+ full_path = File.join @tempdir, 'rdoc.gem'
+ assert_equal "package metadata is missing in #{full_path}", e.message
+ end
+
def test_find_spec_by_name_and_version_directory
Dir.mkdir 'rdoc'
@@ -808,6 +821,20 @@ class TestGemDependencyInstaller < Gem::TestCase
e.message
end
+ def test_find_spec_by_name_and_version_file
+ FileUtils.touch 'rdoc'
+
+ inst = Gem::DependencyInstaller.new
+
+ e = assert_raises Gem::SpecificGemNotFoundException do
+ inst.find_spec_by_name_and_version 'rdoc'
+ end
+
+ assert_equal "Could not find a valid gem 'rdoc' (>= 0) " +
+ "locally or in a repository",
+ e.message
+ end
+
def test_find_gems_with_sources_local
util_setup_gems