Removed obsolete bin scripts.
[rbx.git] / test / rubygems / test_gem_commands_unpack_command.rb
blob3a62a914a48854ae9d9bfef1d8fb752eab6a6d2b
1 require 'test/unit'
2 require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
3 require 'rubygems/commands/unpack_command'
5 class TestGemCommandsUnpackCommand < RubyGemTestCase
7   def setup
8     super
10     Dir.chdir @tempdir do
11       @cmd = Gem::Commands::UnpackCommand.new
12     end
13   end
15   def test_execute
16     util_make_gems
18     @cmd.options[:args] = %w[a]
20     use_ui @ui do
21       Dir.chdir @tempdir do
22         @cmd.execute
23       end
24     end
26     assert File.exist?(File.join(@tempdir, 'a-2'))
27   end
29   def test_execute_gem_path
30     util_make_gems
32     Gem.clear_paths
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]
41     use_ui @ui do
42       Dir.chdir @tempdir do
43         @cmd.execute
44       end
45     end
47     assert File.exist?(File.join(@tempdir, 'a-2'))
48   end
50   def test_execute_gem_path_missing
51     util_make_gems
53     Gem.clear_paths
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]
62     use_ui @ui do
63       Dir.chdir @tempdir do
64         @cmd.execute
65       end
66     end
68     assert_equal '', @ui.output
69   end
71   def test_execute_with_target_option
72     util_make_gems
74     target = 'with_target'
75     @cmd.options[:args] = %w[a]
76     @cmd.options[:target] = target
78     use_ui @ui do
79       Dir.chdir @tempdir do
80         @cmd.execute
81       end
82     end
84     assert File.exist?(File.join(@tempdir, target, 'a-2'))
85   end
87   def test_execute_exact_match
88     foo_spec = quick_gem 'foo'
89     foo_bar_spec = quick_gem 'foo_bar'
91     use_ui @ui do
92       Dir.chdir @tempdir do
93         Gem::Builder.new(foo_spec).build
94         Gem::Builder.new(foo_bar_spec).build
95       end
96     end
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]
105     use_ui @ui do
106       Dir.chdir @tempdir do
107         @cmd.execute
108       end
109     end
111     assert File.exist?(File.join(@tempdir, foo_spec.full_name))
112   end