diff options
Diffstat (limited to 'test/rubygems/gemutilities.rb')
-rw-r--r-- | test/rubygems/gemutilities.rb | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/test/rubygems/gemutilities.rb b/test/rubygems/gemutilities.rb index 43334f51e1..6a806a2367 100644 --- a/test/rubygems/gemutilities.rb +++ b/test/rubygems/gemutilities.rb @@ -1,9 +1,3 @@ -#-- -# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. -# All rights reserved. -# See LICENSE.txt for permissions. -#++ - at_exit { $SAFE = 1 } $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) @@ -82,6 +76,8 @@ class RubyGemTestCase < MiniTest::Unit::TestCase @orig_ruby = ruby end + Gem.ensure_gem_subdirectories @gemhome + @orig_ENV_HOME = ENV['HOME'] ENV['HOME'] = @userhome Gem.instance_variable_set :@user_home, nil @@ -159,7 +155,7 @@ class RubyGemTestCase < MiniTest::Unit::TestCase Gem.clear_paths if ruby = @orig_ruby - Gem.class_eval {@ruby = @ruby} + Gem.class_eval {@ruby = ruby} end if @orig_ENV_HOME then @@ -178,7 +174,7 @@ class RubyGemTestCase < MiniTest::Unit::TestCase end end - gem = File.join(@tempdir, "#{gem.full_name}.gem").untaint + gem = File.join(@tempdir, gem.file_name).untaint Gem::Installer.new(gem, :wrappers => true).install end @@ -256,7 +252,7 @@ class RubyGemTestCase < MiniTest::Unit::TestCase yield(s) if block_given? end - path = File.join "specifications", "#{spec.full_name}.gemspec" + path = File.join "specifications", spec.spec_name written_path = write_file path do |io| io.write(spec.to_ruby) end @@ -283,7 +279,7 @@ class RubyGemTestCase < MiniTest::Unit::TestCase Gem::Builder.new(spec).build end - FileUtils.mv "#{spec.full_name}.gem", + FileUtils.mv spec.file_name, File.join(@gemhome, 'cache', "#{spec.original_name}.gem") end end @@ -302,8 +298,7 @@ class RubyGemTestCase < MiniTest::Unit::TestCase cache_file = File.join @tempdir, 'gems', "#{spec.original_name}.gem" FileUtils.mv File.join(@gemhome, 'cache', "#{spec.original_name}.gem"), cache_file - FileUtils.rm File.join(@gemhome, 'specifications', - "#{spec.full_name}.gemspec") + FileUtils.rm File.join(@gemhome, 'specifications', spec.spec_name) spec.loaded_from = nil spec.loaded = false @@ -417,26 +412,6 @@ Also, a list: Gem::RemoteFetcher.fetcher = @fetcher end - def util_setup_source_info_cache(*specs) - require 'rubygems/source_info_cache' - require 'rubygems/source_info_cache_entry' - - specs = Hash[*specs.map { |spec| [spec.full_name, spec] }.flatten] - si = Gem::SourceIndex.new specs - - sice = Gem::SourceInfoCacheEntry.new si, 0 - sic = Gem::SourceInfoCache.new - - sic.set_cache_data( { @gem_repo => sice } ) - sic.update - sic.write_cache - sic.reset_cache_data - - Gem::SourceInfoCache.instance_variable_set :@cache, sic - - si - end - def util_setup_spec_fetcher(*specs) specs = Hash[*specs.map { |spec| [spec.full_name, spec] }.flatten] si = Gem::SourceIndex.new specs @@ -583,6 +558,35 @@ Also, a list: 'rake' end + ## + # Construct a new Gem::Dependency. + + def dep name, *requirements + Gem::Dependency.new name, *requirements + end + + ## + # Construct a new Gem::Requirement. + + def req *requirements + return requirements.first if Gem::Requirement === requirements.first + Gem::Requirement.create requirements + end + + ## + # Construct a new Gem::Specification. + + def spec name, version, &block + Gem::Specification.new name, v(version), &block + end + + ## + # Construct a new Gem::Version. + + def v string + Gem::Version.create string + end + end MiniTest::Unit.autorun |