From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- .../rubygems/test_gem_commands_help_command.rb | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 jni/ruby/test/rubygems/test_gem_commands_help_command.rb (limited to 'jni/ruby/test/rubygems/test_gem_commands_help_command.rb') diff --git a/jni/ruby/test/rubygems/test_gem_commands_help_command.rb b/jni/ruby/test/rubygems/test_gem_commands_help_command.rb new file mode 100644 index 0000000..bed6095 --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_commands_help_command.rb @@ -0,0 +1,74 @@ +require "rubygems" +require "rubygems/test_case" +require "rubygems/commands/help_command" +require "rubygems/package" +require "rubygems/command_manager" +require File.expand_path('../rubygems_plugin', __FILE__) + +class TestGemCommandsHelpCommand < Gem::TestCase + def setup + super + + @cmd = Gem::Commands::HelpCommand.new + + load File.expand_path('../rubygems_plugin.rb', __FILE__) unless + Gem::Commands.const_defined? :InterruptCommand + end + + def test_gem_help_bad + util_gem 'bad' do |out, err| + assert_equal('', out) + assert_match "Unknown command bad", err + end + end + + def test_gem_help_gem_dependencies + util_gem 'gem_dependencies' do |out, err| + assert_match 'gem.deps.rb', out + assert_equal '', err + end + end + + def test_gem_help_platforms + util_gem 'platforms' do |out, err| + assert_match(/x86-freebsd/, out) + assert_equal '', err + end + end + + def test_gem_help_commands + mgr = Gem::CommandManager.new + + util_gem 'commands' do |out, err| + mgr.command_names.each do |cmd| + assert_match(/\s+#{cmd}\s+\S+/, out) + end + + if defined?(OpenSSL::SSL) then + assert_empty err + + refute_match 'No command found for ', out + end + end + end + + def test_gem_no_args_shows_help + util_gem do |out, err| + assert_match(/Usage:/, out) + assert_match(/gem install/, out) + assert_equal '', err + end + end + + def util_gem *args + @cmd.options[:args] = args + + use_ui @ui do + Dir.chdir @tempdir do + @cmd.execute + end + end + + yield @ui.output, @ui.error + end +end -- cgit v1.2.3