2 require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
3 require 'rubygems/commands/unpack_command'
5 class TestGemCommandsUnpackCommand < RubyGemTestCase
11 @cmd = Gem::Commands::UnpackCommand.new
18 @cmd.options[:args] = %w[a]
26 assert File.exist?(File.join(@tempdir, 'a-2'))
29 def test_execute_gem_path
34 gemhome2 = File.join @tempdir, 'gemhome2'
36 Gem.send :set_paths, [gemhome2, @gemhome].join(File::PATH_SEPARATOR)
37 Gem.send :set_home, gemhome2
39 @cmd.options[:args] = %w[a]
47 assert File.exist?(File.join(@tempdir, 'a-2'))
50 def test_execute_gem_path_missing
55 gemhome2 = File.join @tempdir, 'gemhome2'
57 Gem.send :set_paths, [gemhome2, @gemhome].join(File::PATH_SEPARATOR)
58 Gem.send :set_home, gemhome2
60 @cmd.options[:args] = %w[z]
68 assert_equal '', @ui.output
71 def test_execute_with_target_option
74 target = 'with_target'
75 @cmd.options[:args] = %w[a]
76 @cmd.options[:target] = target
84 assert File.exist?(File.join(@tempdir, target, 'a-2'))
87 def test_execute_exact_match
88 foo_spec = quick_gem 'foo'
89 foo_bar_spec = quick_gem 'foo_bar'
93 Gem::Builder.new(foo_spec).build
94 Gem::Builder.new(foo_bar_spec).build
98 foo_path = File.join(@tempdir, "#{foo_spec.full_name}.gem")
99 foo_bar_path = File.join(@tempdir, "#{foo_bar_spec.full_name}.gem")
100 Gem::Installer.new(foo_path).install
101 Gem::Installer.new(foo_bar_path).install
103 @cmd.options[:args] = %w[foo]
106 Dir.chdir @tempdir do
111 assert File.exist?(File.join(@tempdir, foo_spec.full_name))