From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/test/rubygems/test_gem_silent_ui.rb | 116 +++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 jni/ruby/test/rubygems/test_gem_silent_ui.rb (limited to 'jni/ruby/test/rubygems/test_gem_silent_ui.rb') diff --git a/jni/ruby/test/rubygems/test_gem_silent_ui.rb b/jni/ruby/test/rubygems/test_gem_silent_ui.rb new file mode 100644 index 0000000..01ff79d --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_silent_ui.rb @@ -0,0 +1,116 @@ +require 'rubygems/test_case' +require 'rubygems/user_interaction' +require 'timeout' + +class TestGemSilentUI < Gem::TestCase + + def setup + super + @sui = Gem::SilentUI.new + end + + def teardown + @sui.close + super + end + + def test_ask + value = nil + out, err = capture_io do + use_ui @sui do + value = @sui.ask 'Problem?' + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + assert_nil value, 'No value' + end + + def test_ask_for_password + value = nil + out, err = capture_io do + use_ui @sui do + value = @sui.ask_for_password 'Problem?' + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + assert_nil value, 'No value' + end + + def test_ask_yes_no + value = nil + out, err = capture_io do + use_ui @sui do + assert_raises(Gem::OperationNotSupportedError) do + @sui.ask_yes_no 'Problem?' + end + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + out, err = capture_io do + use_ui @sui do + value = @sui.ask_yes_no 'Problem?', true + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + assert value, 'Value is true' + + out, err = capture_io do + use_ui @sui do + value = @sui.ask_yes_no 'Problem?', false + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + assert_equal value, false, 'Value is false' + end + + def test_choose_from_list + value = nil + out, err = capture_io do + use_ui @sui do + value = @sui.choose_from_list 'Problem?', %w[yes no] + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + + assert_equal [nil, nil], value, 'Value is nil!' + end + + def test_progress_reporter + out, err = capture_io do + use_ui @sui do + @sui.progress_reporter 10, 'hi' + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + end + + def test_download_reporter + out, err = capture_io do + use_ui @sui do + @sui.download_reporter.fetch 'a.gem', 1024 + end + end + + assert_empty out, 'No output' + assert_empty err, 'No output' + end +end -- cgit v1.2.3