diff options
author | Stan Lo <stan001212@gmail.com> | 2023-05-18 12:28:27 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-05-18 03:28:31 +0000 |
commit | b695f58d52ec047e44434c16c998c4a67d3e5571 (patch) | |
tree | db91772ca200d3a31db56b6f74bc50c20ebb97d4 /test/irb/test_cmd.rb | |
parent | cea9c30fa549885e36471f1782359df2bdcf895a (diff) | |
download | ruby-master.tar.gz |
(https://github.com/ruby/irb/pull/567)
* Give show_doc its own command class
* Print deprecation warning for `help` command
Diffstat (limited to 'test/irb/test_cmd.rb')
-rw-r--r-- | test/irb/test_cmd.rb | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/test/irb/test_cmd.rb b/test/irb/test_cmd.rb index c069bedb51..c5d9a0e544 100644 --- a/test/irb/test_cmd.rb +++ b/test/irb/test_cmd.rb @@ -783,19 +783,33 @@ module TestIRB end class ShowDocTest < CommandTestCase - def test_help_and_show_doc - ["help", "show_doc"].each do |cmd| - out, err = execute_lines( - "#{cmd} String#gsub\n", - "\n", - ) + 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_empty err - assert(possible_rdoc_output.any? { |output| output.match?(out) }, "Expect the `#{cmd}` command to match one of the possible outputs. Got:\n#{out}") - end + # 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", + "\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_not_include err, "[Deprecation]" + assert(possible_rdoc_output.any? { |output| output.match?(out) }, "Expect the `show_doc` 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" } |