mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems/commands/check_command.rb: Added --doctor and --dry-run
options to clean up after failed uninstallation. * test/rubygems/test_gem_commands_check_command.rb: Test for above. * lib/rubygems/commands/push_command.rb: Allow pushes from RubyGems 2.0.0.preview3 * lib/rubygems/commands/update_command.rb: Use Gem.ruby_version * lib/rubygems/dependency.rb: Update style. * lib/rubygems/installer.rb: Ensure installed gem specifications will be useable. Refactor. * test/rubygems/test_gem_installer.rb: ditto. * lib/rubygems/validator.rb: Fixed bug with unreadable files. * lib/rubygems.rb: Fixed broken methods. * test/rubygems/test_gem.rb: Test for above. * test/rubygems/test_gem_commands_push_command.rb: Fixed overridden Gem.latest_rubygems_version git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c47c095b97
commit
6fe32d7266
14 changed files with 739 additions and 153 deletions
|
@ -9,10 +9,60 @@ class TestGemCommandsCheckCommand < Gem::TestCase
|
|||
@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
|
||||
a = 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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue