mirror of
https://github.com/ruby/ruby.git
synced 2025-09-16 09:04:05 +02:00
75 lines
1.5 KiB
Ruby
75 lines
1.5 KiB
Ruby
require "tempfile"
|
|
require_relative "../helper"
|
|
|
|
module TestIRB
|
|
class HelpTest < IntegrationTestCase
|
|
def setup
|
|
super
|
|
|
|
write_rc <<~'RUBY'
|
|
IRB.conf[:USE_PAGER] = false
|
|
RUBY
|
|
|
|
write_ruby <<~'RUBY'
|
|
binding.irb
|
|
RUBY
|
|
end
|
|
|
|
def test_help
|
|
out = run_ruby_file do
|
|
type "help"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/List all available commands/, out)
|
|
assert_match(/Start the debugger of debug\.gem/, out)
|
|
end
|
|
|
|
def test_command_help
|
|
out = run_ruby_file do
|
|
type "help ls"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/Usage: ls \[obj\]/, out)
|
|
end
|
|
|
|
def test_command_help_not_found
|
|
out = run_ruby_file do
|
|
type "help foo"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/Can't find command `foo`\. Please check the command name and try again\./, out)
|
|
end
|
|
|
|
def test_show_cmds
|
|
out = run_ruby_file do
|
|
type "help"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/List all available commands/, out)
|
|
assert_match(/Start the debugger of debug\.gem/, out)
|
|
end
|
|
|
|
def test_help_lists_user_aliases
|
|
out = run_ruby_file do
|
|
type "help"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/\$\s+Alias for `show_source`/, out)
|
|
assert_match(/@\s+Alias for `whereami`/, out)
|
|
end
|
|
|
|
def test_help_lists_helper_methods
|
|
out = run_ruby_file do
|
|
type "help"
|
|
type "exit"
|
|
end
|
|
|
|
assert_match(/Helper methods\s+conf\s+Returns the current IRB context/, out)
|
|
end
|
|
end
|
|
end
|