aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_commands_which_command.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-22 02:52:35 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-22 02:52:35 +0000
commitb551e8c8b36766651be4e782e09e3b02e7d14a10 (patch)
treee164a1ef908bd4451568abf05b688f1593915b81 /test/rubygems/test_gem_commands_which_command.rb
parent65544f575b25b18dc27f9364f973556ddb48538f (diff)
downloadruby-b551e8c8b36766651be4e782e09e3b02e7d14a10.tar.gz
* lib/rubygems: update to 1.3.6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_commands_which_command.rb')
-rw-r--r--test/rubygems/test_gem_commands_which_command.rb66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_commands_which_command.rb b/test/rubygems/test_gem_commands_which_command.rb
new file mode 100644
index 0000000000..137f598378
--- /dev/null
+++ b/test/rubygems/test_gem_commands_which_command.rb
@@ -0,0 +1,66 @@
+require_relative 'gemutilities'
+require 'rubygems/commands/which_command'
+
+class TestGemCommandsWhichCommand < RubyGemTestCase
+
+ def setup
+ super
+ @cmd = Gem::Commands::WhichCommand.new
+ end
+
+ def test_execute
+ util_foo_bar
+
+ @cmd.handle_options %w[foo_bar]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ assert_equal "#{@foo_bar.full_gem_path}/lib/foo_bar.rb\n", @ui.output
+ assert_equal '', @ui.error
+ end
+
+ def test_execute_one_missing
+ util_foo_bar
+
+ @cmd.handle_options %w[foo_bar missing]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ assert_equal "#{@foo_bar.full_gem_path}/lib/foo_bar.rb\n", @ui.output
+ assert_match %r%Can't find ruby library file or shared library missing\n%,
+ @ui.error
+ end
+
+ def test_execute_missing
+ @cmd.handle_options %w[missing]
+
+ use_ui @ui do
+ assert_raises MockGemUi::TermError do
+ @cmd.execute
+ end
+ end
+
+ assert_equal '', @ui.output
+ assert_match %r%Can't find ruby library file or shared library missing\n%,
+ @ui.error
+ end
+
+ def util_foo_bar
+ files = %w[lib/foo_bar.rb Rakefile]
+ @foo_bar = quick_gem 'foo_bar' do |gem|
+ gem.files = files
+ end
+
+ files.each do |file|
+ filename = @foo_bar.full_gem_path + "/#{file}"
+ FileUtils.mkdir_p File.dirname(filename)
+ FileUtils.touch filename
+ end
+ end
+
+end
+