aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_commands_query_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_commands_query_command.rb')
-rw-r--r--test/rubygems/test_gem_commands_query_command.rb82
1 files changed, 82 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_commands_query_command.rb b/test/rubygems/test_gem_commands_query_command.rb
new file mode 100644
index 0000000000..e2b6a45e92
--- /dev/null
+++ b/test/rubygems/test_gem_commands_query_command.rb
@@ -0,0 +1,82 @@
+require 'test/unit'
+require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
+require 'rubygems/commands/query_command'
+
+class TestGemCommandsQueryCommand < RubyGemTestCase
+
+ def setup
+ super
+
+ @foo_gem = quick_gem 'foo' do |spec|
+ spec.summary = 'This is a lot of text. ' * 5
+ end
+ @bar_gem = quick_gem 'bar'
+
+ @cmd = Gem::Commands::QueryCommand.new
+ end
+
+ def test_execute
+ util_setup_source_info_cache @foo_gem
+
+ @cmd.handle_options %w[-r]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** REMOTE GEMS ***
+
+foo (0.0.2)
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
+ def test_execute_details
+ util_setup_source_info_cache @foo_gem
+
+ @cmd.handle_options %w[-r -d]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** REMOTE GEMS ***
+
+foo (0.0.2)
+ This is a lot of text. This is a lot of text. This is a lot of
+ text. This is a lot of text. This is a lot of text.
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
+ def test_execute_no_versions
+ util_setup_source_info_cache @foo_gem, @bar_gem
+
+ @cmd.handle_options %w[-r --no-versions]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ expected = <<-EOF
+
+*** REMOTE GEMS ***
+
+bar
+foo
+ EOF
+
+ assert_equal expected, @ui.output
+ assert_equal '', @ui.error
+ end
+
+end
+