class Gem::TestCase

def new_spec name, version, deps = nil, *files # :nodoc:

:nodoc:
def new_spec name, version, deps = nil, *files # :nodoc:
  require 'rubygems/specification'
  spec = Gem::Specification.new do |s|
    s.platform    = Gem::Platform::RUBY
    s.name        = name
    s.version     = version
    s.author      = 'A User'
    s.email       = 'example@example.com'
    s.homepage    = 'http://example.com'
    s.summary     = "this is a summary"
    s.description = "This is a test description"
    Array(deps).each do |n, req|
      s.add_dependency n, (req || '>= 0')
    end
    s.files.push(*files) unless files.empty?
    yield s if block_given?
  end
  spec.loaded_from = spec.spec_file
  unless files.empty? then
    write_file spec.spec_file do |io|
      io.write spec.to_ruby_for_cache
    end
    util_build_gem spec
    cache_file = File.join @tempdir, 'gems', "#{spec.full_name}.gem"
    FileUtils.mkdir_p File.dirname cache_file
    FileUtils.mv spec.cache_file, cache_file
    FileUtils.rm spec.spec_file
  end
  spec
end