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_lock_command.rb | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 jni/ruby/test/rubygems/test_gem_commands_lock_command.rb (limited to 'jni/ruby/test/rubygems/test_gem_commands_lock_command.rb') 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 + -- cgit v1.2.3