diff options
author | Stan Lo <[email protected]> | 2024-02-14 13:47:41 +0000 |
---|---|---|
committer | git <[email protected]> | 2024-02-14 13:47:45 +0000 |
commit | c84581f1d920a6f179d13c0edd99f5b99dd5d1ba (patch) | |
tree | cd5de2ba9792c9d38ff1f8b363e32ae64ac9833b | |
parent | d0412599e08283430ca0a3c34f2e58eb5c5d5619 (diff) |
[ruby/irb] Repurpose the help command to display the help message
(https://github.com/ruby/irb/pull/872)
See #787 for more details.
https://github.com/ruby/irb/commit/d9192d92d0
-rw-r--r-- | lib/irb/cmd/help.rb | 19 | ||||
-rw-r--r-- | test/irb/test_cmd.rb | 26 |
2 files changed, 14 insertions, 31 deletions
diff --git a/lib/irb/cmd/help.rb b/lib/irb/cmd/help.rb index 64b885c383..7f894688cc 100644 --- a/lib/irb/cmd/help.rb +++ b/lib/irb/cmd/help.rb @@ -1,23 +1,12 @@ # frozen_string_literal: true -require_relative "show_doc" +require_relative "show_cmds" module IRB module ExtendCommand - class Help < ShowDoc - category "Context" - description "[DEPRECATED] Enter the mode to look up RI documents." - - DEPRECATION_MESSAGE = <<~MSG - [Deprecation] The `help` command will be repurposed to display command help in the future. - For RI document lookup, please use the `show_doc` command instead. - For command help, please use `show_cmds` for now. - MSG - - def execute(*names) - warn DEPRECATION_MESSAGE - super - end + class Help < ShowCmds + category "IRB" + description "List all available commands and their description." end end end diff --git a/test/irb/test_cmd.rb b/test/irb/test_cmd.rb index bc63587330..b9a155ec09 100644 --- a/test/irb/test_cmd.rb +++ b/test/irb/test_cmd.rb @@ -603,6 +603,16 @@ module TestIRB class ShowCmdsTest < CommandTestCase + def test_help + out, err = execute_lines( + "help\n", + ) + + assert_empty err + assert_match(/List all available commands and their description/, out) + assert_match(/Start the debugger of debug\.gem/, out) + end + def test_show_cmds out, err = execute_lines( "show_cmds\n" @@ -774,22 +784,6 @@ module TestIRB end class ShowDocTest < CommandTestCase - def test_help - out, err = execute_lines( - "help String#gsub\n", - "\n", - ) - - # the former is what we'd get without document content installed, like on CI - # the latter is what we may get locally - possible_rdoc_output = [/Nothing known about String#gsub/, /gsub\(pattern\)/] - assert_include err, "[Deprecation] The `help` command will be repurposed to display command help in the future.\n" - assert(possible_rdoc_output.any? { |output| output.match?(out) }, "Expect the `help` command to match one of the possible outputs. Got:\n#{out}") - ensure - # this is the only way to reset the redefined method without coupling the test with its implementation - EnvUtil.suppress_warning { load "irb/cmd/help.rb" } - end - def test_show_doc out, err = execute_lines( "show_doc String#gsub\n", |