Removed obsolete bin scripts.
[rbx.git] / test / rubygems / test_gem_commands_dependency_command.rb
blob0f0d95695d0c3a99ee5b57f0972e4ddc5de5c3a9
1 require 'test/unit'
2 require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
3 require 'rubygems/commands/dependency_command'
5 class TestGemCommandsDependencyCommand < RubyGemTestCase
7   def setup
8     super
10     @cmd = Gem::Commands::DependencyCommand.new
11     @cmd.options[:domain] = :local
12   end
14   def test_execute
15     quick_gem 'foo' do |gem|
16       gem.add_dependency 'bar', '> 1'
17     end
19     @cmd.options[:args] = %w[foo]
21     use_ui @ui do
22       @cmd.execute
23     end
25     assert_equal "Gem foo-2\n  bar (> 1)\n\n", @ui.output
26     assert_equal '', @ui.error
27   end
29   def test_execute_no_match
30     @cmd.options[:args] = %w[foo]
32     assert_raise MockGemUi::TermError do
33       use_ui @ui do
34         @cmd.execute
35       end
36     end
38     assert_equal "No match found for foo (>= 0)\n", @ui.output
39     assert_equal '', @ui.error
40   end
42   def test_execute_pipe_format
43     quick_gem 'foo' do |gem|
44       gem.add_dependency 'bar', '> 1'
45     end
47     @cmd.options[:args] = %w[foo]
48     @cmd.options[:pipe_format] = true
50     use_ui @ui do
51       @cmd.execute
52     end
54     assert_equal "bar --version '> 1'\n", @ui.output
55     assert_equal '', @ui.error
56   end
58   def test_execute_reverse
59     quick_gem 'foo' do |gem|
60       gem.add_dependency 'bar', '> 1'
61     end
63     quick_gem 'baz' do |gem|
64       gem.add_dependency 'foo'
65     end
67     @cmd.options[:args] = %w[foo]
68     @cmd.options[:reverse_dependencies] = true
70     use_ui @ui do
71       @cmd.execute
72     end
74     expected = <<-EOF
75 Gem foo-2
76   bar (> 1)
77   Used by
78     baz-2 (foo (>= 0))
80     EOF
82     assert_equal expected, @ui.output
83     assert_equal '', @ui.error
84   end
86   def test_execute_remote
87     foo = quick_gem 'foo' do |gem|
88       gem.add_dependency 'bar', '> 1'
89     end
91     util_setup_source_info_cache foo
93     FileUtils.rm File.join(@gemhome, 'specifications',
94                            "#{foo.full_name}.gemspec")
96     @cmd.options[:args] = %w[foo]
97     @cmd.options[:domain] = :remote
99     use_ui @ui do
100       @cmd.execute
101     end
103     assert_equal "Gem foo-2\n  bar (> 1)\n\n", @ui.output
104     assert_equal '', @ui.error
105   end