[ruby/irb] Avoid raising errors while running help for custom
commands (https://github.com/ruby/irb/pull/944) * Avoid raising errors while running help for custom commands Raising an error from the help command is not a pleasure for the end user, even if the command does not define any attributes * Update test/irb/command/test_custom_command.rb --------- https://github.com/ruby/irb/commit/c8bba9f8dc Co-authored-by: Stan Lo <stan001212@gmail.com>
This commit is contained in:
parent
70db150fbc
commit
a510175e8f
@ -12,7 +12,7 @@ module IRB
|
||||
help_message
|
||||
else
|
||||
if command_class = Command.load_command(command_name)
|
||||
command_class.help_message || command_class.description
|
||||
command_class.help_message || command_class.description || ""
|
||||
else
|
||||
"Can't find command `#{command_name}`. Please check the command name and try again.\n\n"
|
||||
end
|
||||
|
@ -123,5 +123,31 @@ module TestIRB
|
||||
assert_include(output, "2 FooBar executed")
|
||||
assert_include(output, "foobar_description")
|
||||
end
|
||||
|
||||
def test_no_meta_command_also_works
|
||||
write_ruby <<~RUBY
|
||||
require "irb/command"
|
||||
|
||||
class NoMetaCommand < IRB::Command::Base
|
||||
def execute(*)
|
||||
puts "This command does not override meta attributes"
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
IRB::Command.register(:no_meta, NoMetaCommand)
|
||||
|
||||
binding.irb
|
||||
RUBY
|
||||
|
||||
output = run_ruby_file do
|
||||
type "no_meta\n"
|
||||
type "help no_meta\n"
|
||||
type "exit"
|
||||
end
|
||||
|
||||
assert_include(output, "This command does not override meta attributes")
|
||||
assert_not_include(output, "Maybe IRB bug")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user