diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-30 23:27:52 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-30 23:27:52 +0000 |
commit | 73fc703f7cbb2e6dfd50897d26b37fe8e76064e3 (patch) | |
tree | 0296426c8ac01331f2d33dde54fd9f1e183ea974 /test/rubygems/test_gem_request_set.rb | |
parent | 6727297dfecddaef6b1166a7f442db2a22929c65 (diff) | |
download | ruby-73fc703f7cbb2e6dfd50897d26b37fe8e76064e3.tar.gz |
* lib/rubygems: Update to RubyGems master 66e5c39. Notable changes:
Implement gem.deps.rb (Gemfile) .lock support
Fixed `gem uninstall` for a relative directory in GEM_HOME.
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_request_set.rb')
-rw-r--r-- | test/rubygems/test_gem_request_set.rb | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/test/rubygems/test_gem_request_set.rb b/test/rubygems/test_gem_request_set.rb index 6719be372c..324d0cd7a8 100644 --- a/test/rubygems/test_gem_request_set.rb +++ b/test/rubygems/test_gem_request_set.rb @@ -45,16 +45,88 @@ class TestGemRequestSet < Gem::TestCase rs = Gem::RequestSet.new installed = [] + open 'gem.deps.rb', 'w' do |io| + io.puts 'gem "a"' + io.flush + + result = rs.install_from_gemdeps :gemdeps => io.path do |req, installer| + installed << req.full_name + end + + assert_kind_of Array, result # what is supposed to be in here? + end + + assert_includes installed, 'a-2' + assert_path_exists File.join @gemhome, 'gems', 'a-2' + assert_path_exists 'gem.deps.rb.lock' + end + + def test_install_from_gemdeps_install_dir + spec_fetcher do |fetcher| + fetcher.gem 'a', 2 + end + + util_clear_gems + refute_path_exists File.join Gem.dir, 'gems', 'a-2' + + rs = Gem::RequestSet.new + installed = [] + Tempfile.open 'gem.deps.rb' do |io| io.puts 'gem "a"' io.flush - rs.install_from_gemdeps :gemdeps => io.path do |req, installer| + options = { + :gemdeps => io.path, + :install_dir => "#{@gemhome}2", + } + + rs.install_from_gemdeps options do |req, installer| installed << req.full_name end end assert_includes installed, 'a-2' + refute_path_exists File.join Gem.dir, 'gems', 'a-2' + end + + def test_install_from_gemdeps_lockfile + spec_fetcher do |fetcher| + fetcher.gem 'a', 1 + fetcher.gem 'a', 2 + fetcher.gem 'b', 1, 'a' => '>= 0' + end + + rs = Gem::RequestSet.new + installed = [] + + open 'gem.deps.rb.lock', 'w' do |io| + io.puts <<-LOCKFILE +GEM + remote: #{@gem_repo} + specs: + a (1) + b (1) + a + +PLATFORMS + #{Gem::Platform::RUBY} + +DEPENDENCIES + b + LOCKFILE + end + + open 'gem.deps.rb', 'w' do |io| + io.puts 'gem "b"' + end + + rs.install_from_gemdeps :gemdeps => 'gem.deps.rb' do |req, installer| + installed << req.full_name + end + + assert_includes installed, 'b-1' + assert_includes installed, 'a-1' end def test_load_gemdeps |