From 6cfd929034f1fe3d93160365505a8b88bef56159 Mon Sep 17 00:00:00 2001 From: Kuniaki Igarashi Date: Sat, 20 Apr 2024 00:01:32 +0900 Subject: [PATCH] [ruby/irb] Add MultiIRB commands test (https://github.com/ruby/irb/pull/929) https://github.com/ruby/irb/commit/c6bbc424c3 --- test/irb/command/test_multi_irb_commands.rb | 50 +++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/irb/command/test_multi_irb_commands.rb diff --git a/test/irb/command/test_multi_irb_commands.rb b/test/irb/command/test_multi_irb_commands.rb new file mode 100644 index 0000000000..e313c0c5d2 --- /dev/null +++ b/test/irb/command/test_multi_irb_commands.rb @@ -0,0 +1,50 @@ +require "tempfile" +require_relative "../helper" + +module TestIRB + class MultiIRBTest < IntegrationTestCase + def setup + super + + write_ruby <<~'RUBY' + binding.irb + RUBY + end + + def test_jobs_command_with_print_deprecated_warning + out = run_ruby_file do + type "jobs" + type "exit" + end + + assert_match(/Multi-irb commands are deprecated and will be removed in IRB 2\.0\.0\. Please use workspace commands instead\./, out) + assert_match(%r|If you have any use case for multi-irb, please leave a comment at https://github.com/ruby/irb/issues/653|, out) + assert_match(/#0->irb on main \(#: running\)/, out) + end + + def test_irb_jobs_and_kill_commands + out = run_ruby_file do + type "irb" + type "jobs" + type "kill 1" + type "exit" + end + + assert_match(/#0->irb on main \(#: stop\)/, out) + assert_match(/#1->irb#1 on main \(#: running\)/, out) + end + + def test_irb_fg_jobs_and_kill_commands + out = run_ruby_file do + type "irb" + type "fg 0" + type "jobs" + type "kill 1" + type "exit" + end + + assert_match(/#0->irb on main \(#: running\)/, out) + assert_match(/#1->irb#1 on main \(#: stop\)/, out) + end + end +end