~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to test/rubygems/test_gem_commands_mirror_command.rb

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require_relative 'gemutilities'
2
 
require 'rubygems/indexer'
3
 
require 'rubygems/commands/mirror_command'
4
 
 
5
 
class TestGemCommandsMirrorCommand < RubyGemTestCase
6
 
 
7
 
  def setup
8
 
    super
9
 
 
10
 
    @cmd = Gem::Commands::MirrorCommand.new
11
 
  end
12
 
 
13
 
  def test_execute
14
 
    util_make_gems
15
 
 
16
 
    gems_dir = File.join @tempdir, 'gems'
17
 
    mirror = File.join @tempdir, 'mirror'
18
 
 
19
 
    FileUtils.mkdir_p gems_dir
20
 
    FileUtils.mkdir_p mirror
21
 
 
22
 
    Dir[File.join(@gemhome, 'cache', '*.gem')].each do |gem|
23
 
      FileUtils.mv gem, gems_dir
24
 
    end
25
 
 
26
 
    use_ui @ui do
27
 
      Gem::Indexer.new(@tempdir).generate_index
28
 
    end
29
 
 
30
 
    orig_HOME = ENV['HOME']
31
 
    ENV['HOME'] = @tempdir
32
 
    Gem.instance_variable_set :@user_home, nil
33
 
 
34
 
    File.open File.join(Gem.user_home, '.gemmirrorrc'), 'w' do |fp|
35
 
      fp.puts "---"
36
 
      # tempdir could be a drive+path (under windows)
37
 
      if @tempdir.match(/[a-z]:/i)
38
 
        fp.puts "- from: file:///#{@tempdir}"
39
 
      else
40
 
        fp.puts "- from: file://#{@tempdir}"
41
 
      end
42
 
      fp.puts "  to: #{mirror}"
43
 
    end
44
 
 
45
 
    use_ui @ui do
46
 
      @cmd.execute
47
 
    end
48
 
 
49
 
    assert File.exist?(File.join(mirror, 'gems', @a1.file_name))
50
 
    assert File.exist?(File.join(mirror, 'gems', @a2.file_name))
51
 
    assert File.exist?(File.join(mirror, 'gems', @b2.file_name))
52
 
    assert File.exist?(File.join(mirror, 'gems', @c1_2.file_name))
53
 
    assert File.exist?(File.join(mirror, "Marshal.#{@marshal_version}"))
54
 
  ensure
55
 
    orig_HOME.nil? ? ENV.delete('HOME') : ENV['HOME'] = orig_HOME
56
 
    Gem.instance_variable_set :@user_home, nil
57
 
  end
58
 
 
59
 
end if ''.respond_to? :to_xs
60