summaryrefslogtreecommitdiff
path: root/jni/ruby/test/rubygems/test_gem_commands_check_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/test/rubygems/test_gem_commands_check_command.rb')
-rw-r--r--jni/ruby/test/rubygems/test_gem_commands_check_command.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/jni/ruby/test/rubygems/test_gem_commands_check_command.rb b/jni/ruby/test/rubygems/test_gem_commands_check_command.rb
new file mode 100644
index 0000000..67db6a3
--- /dev/null
+++ b/jni/ruby/test/rubygems/test_gem_commands_check_command.rb
@@ -0,0 +1,68 @@
+require 'rubygems/test_case'
+require 'rubygems/commands/check_command'
+
+class TestGemCommandsCheckCommand < Gem::TestCase
+
+ def setup
+ super
+
+ @cmd = Gem::Commands::CheckCommand.new
+ end
+
+ def gem name
+ spec = quick_gem name do |gem|
+ gem.files = %W[lib/#{name}.rb Rakefile]
+ end
+
+ write_file File.join(*%W[gems #{spec.full_name} lib #{name}.rb])
+ write_file File.join(*%W[gems #{spec.full_name} Rakefile])
+
+ spec
+ end
+
+ def test_initialize
+ assert_equal "check", @cmd.command
+ assert_equal "gem check", @cmd.program_name
+ assert_match(/Check/, @cmd.summary)
+ end
+
+ def test_handle_options
+ @cmd.handle_options %w[--no-alien --no-gems --doctor --dry-run]
+
+ assert @cmd.options[:doctor]
+ refute @cmd.options[:alien]
+ assert @cmd.options[:dry_run]
+ refute @cmd.options[:gems]
+ end
+
+ def test_handle_options_defaults
+ @cmd.handle_options []
+
+ assert @cmd.options[:alien]
+ assert @cmd.options[:gems]
+ refute @cmd.options[:doctor]
+ refute @cmd.options[:dry_run]
+ end
+
+ def test_doctor
+ gem 'a'
+ b = gem 'b'
+
+ FileUtils.rm b.spec_file
+
+ assert_path_exists b.gem_dir
+ refute_path_exists b.spec_file
+
+ Gem.use_paths @gemhome
+
+ capture_io do
+ use_ui @ui do
+ @cmd.doctor
+ end
+ end
+
+ refute_path_exists b.gem_dir
+ refute_path_exists b.spec_file
+ end
+
+end