diff options
Diffstat (limited to 'test/irb/test_debug_cmd.rb')
-rw-r--r-- | test/irb/test_debug_cmd.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/irb/test_debug_cmd.rb b/test/irb/test_debug_cmd.rb index a99f7a943f..d669c174e6 100644 --- a/test/irb/test_debug_cmd.rb +++ b/test/irb/test_debug_cmd.rb @@ -331,6 +331,39 @@ module TestIRB assert_include(output, "InputMethod: RelineInputMethod") end + def test_help_command_is_delegated_to_the_debugger + write_ruby <<~'ruby' + binding.irb + ruby + + output = run_ruby_file do + type "debug" + type "help" + type "continue" + end + + assert_include(output, "### Frame control") + end + + def test_show_cmds_display_different_content_when_debugger_is_enabled + write_ruby <<~'ruby' + # disable pager + STDIN.singleton_class.define_method(:tty?) { false } + binding.irb + ruby + + output = run_ruby_file do + type "debug" + type "show_cmds" + type "continue" + end + + # IRB's commands should still be listed + assert_match(/show_cmds\s+List all available commands and their description\./, output) + # debug gem's commands should be appended at the end + assert_match(/Debugging \(from debug\.gem\)\s+### Control flow/, output) + end + def test_input_is_evaluated_in_the_context_of_the_current_thread write_ruby <<~'ruby' current_thread = Thread.current |