diff options
Diffstat (limited to 'jni/ruby/test/rubygems/test_gem_commands_lock_command.rb')
-rw-r--r-- | jni/ruby/test/rubygems/test_gem_commands_lock_command.rb | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/jni/ruby/test/rubygems/test_gem_commands_lock_command.rb b/jni/ruby/test/rubygems/test_gem_commands_lock_command.rb new file mode 100644 index 0000000..8f30b7f --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_commands_lock_command.rb @@ -0,0 +1,68 @@ +require 'rubygems/test_case' +require 'rubygems/commands/lock_command' + +class TestGemCommandsLockCommand < Gem::TestCase + + def setup + super + + @a1 = quick_gem 'a', '1' + @b1 = quick_gem 'b', '1' do |s| + s.add_runtime_dependency 'a' + end + + @d1 = quick_gem 'd', '1' do |s| + s.add_runtime_dependency 'z' + end + + @cmd = Gem::Commands::LockCommand.new + end + + def test_execute + @cmd.handle_options %w[b-1] + + use_ui @ui do + @cmd.execute + end + + expected = <<-EXPECTED +require 'rubygems' +gem 'b', '= 1' +gem 'a', '= 1' + EXPECTED + + assert_equal expected, @ui.output + assert_equal '', @ui.error + end + + def test_execute_missing_dependency + @cmd.handle_options %w[d-1] + + use_ui @ui do + @cmd.execute + end + + expected = <<-EXPECTED +require 'rubygems' +gem 'd', '= 1' +# Unable to satisfy 'z (>= 0)' from currently installed gems + EXPECTED + + assert_equal expected, @ui.output + assert_equal '', @ui.error + end + + def test_execute_strict + @cmd.handle_options %w[c-1 --strict] + + e = assert_raises Gem::Exception do + use_ui @ui do + @cmd.execute + end + end + + assert_equal 'Could not find gem c-1, try using the full name', e.message + end + +end + |