From afae107a4c969845c58985159a0ce51f80e920ca Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 6 Dec 2012 05:13:08 +0000 Subject: * lib/rubygems/package.rb: Set rubygems_version before validation. Fixes issue with bundler. * test/rubygems/test_gem_package.rb: Test for above. * lib/rubygems/remote_fetcher.rb: Only update the cache when we have permission. [ruby-trunk - Bug #7509] * lib/rubygems/source.rb (class Gem): ditto * test/rubygems/test_gem_remote_fetcher.rb: Test for above. * lib/rubygems/test_utilities.rb: ditto * lib/rubygems/specification.rb: Derive base_dir properly for default gems. [ruby-trunk - Bug #7496] * test/rubygems/test_gem_specification.rb: Test for above. * lib/rubygems.rb: Untaint Dir.pwd when searching for gemdeps files for operation under $SAFE=1 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_gem_package.rb | 1 + test/rubygems/test_gem_remote_fetcher.rb | 26 ++++++++++++++++++++++++++ test/rubygems/test_gem_specification.rb | 11 +++++++++++ 3 files changed, 38 insertions(+) (limited to 'test/rubygems') diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb index 9768515a33..a9ac053a5c 100644 --- a/test/rubygems/test_gem_package.rb +++ b/test/rubygems/test_gem_package.rb @@ -133,6 +133,7 @@ class TestGemPackage < Gem::Package::TarTestCase spec.summary = 'build' spec.authors = 'build' spec.files = ['lib/code.rb'] + spec.rubygems_version = :junk FileUtils.mkdir 'lib' diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index c0ee23ff5a..2d653ef6b8 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -192,6 +192,32 @@ gems: dns.verify end + def test_cache_update_path + uri = URI 'http://example/file' + path = File.join @tempdir, 'file' + + fetcher = util_fuck_with_fetcher 'hello' + + data = fetcher.cache_update_path uri, path + + assert_equal 'hello', data + + assert_equal 'hello', File.read(path) + end + + def test_cache_update_path_no_update + uri = URI 'http://example/file' + path = File.join @tempdir, 'file' + + fetcher = util_fuck_with_fetcher 'hello' + + data = fetcher.cache_update_path uri, path, false + + assert_equal 'hello', data + + refute_path_exists path + end + def util_fuck_with_fetcher data, blow = false fetcher = Gem::RemoteFetcher.fetcher fetcher.instance_variable_set :@test_data, data diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index f8b713c5c7..2ba2d5e20d 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -879,12 +879,23 @@ dependencies: [] def test_base_dir assert_equal @gemhome, @a1.base_dir + end + def test_base_dir_not_loaded @a1.instance_variable_set :@loaded_from, nil assert_equal Gem.dir, @a1.base_dir end + def test_base_dir_default + default_dir = + File.join Gem::Specification.default_specifications_dir, @a1.spec_name + + @a1.instance_variable_set :@loaded_from, default_dir + + assert_equal Gem.default_dir, @a1.base_dir + end + def test_lib_files @a1.files = %w[lib/foo.rb Rakefile] -- cgit v1.2.3