mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/irb] Add tests for RelineInputMethod
This commit is contained in:
parent
6cca8a0ceb
commit
d377cc4530
1 changed files with 58 additions and 0 deletions
58
test/irb/test_input_method.rb
Normal file
58
test/irb/test_input_method.rb
Normal file
|
@ -0,0 +1,58 @@
|
|||
# frozen_string_literal: false
|
||||
|
||||
require "test/unit"
|
||||
require "irb"
|
||||
|
||||
module TestIRB
|
||||
class TestRelineInputMethod < Test::Unit::TestCase
|
||||
def setup
|
||||
@conf_backup = IRB.conf.dup
|
||||
IRB.conf[:LC_MESSAGES] = IRB::Locale.new
|
||||
end
|
||||
|
||||
def teardown
|
||||
IRB.conf.replace(@conf_backup)
|
||||
end
|
||||
|
||||
def test_initialization
|
||||
IRB::RelineInputMethod.new
|
||||
|
||||
assert_nil Reline.completion_append_character
|
||||
assert_equal '', Reline.completer_quote_characters
|
||||
assert_equal IRB::InputCompletor::BASIC_WORD_BREAK_CHARACTERS, Reline.basic_word_break_characters
|
||||
assert_equal IRB::InputCompletor::CompletionProc, Reline.completion_proc
|
||||
assert_equal IRB::InputCompletor::PerfectMatchedProc, Reline.dig_perfect_match_proc
|
||||
end
|
||||
|
||||
def test_initialization_without_use_autocomplete
|
||||
original_show_doc_proc = Reline.dialog_proc(:show_doc)&.dialog_proc
|
||||
empty_proc = Proc.new {}
|
||||
Reline.add_dialog_proc(:show_doc, empty_proc)
|
||||
|
||||
IRB.conf[:USE_AUTOCOMPLETE] = false
|
||||
|
||||
IRB::RelineInputMethod.new
|
||||
|
||||
refute Reline.autocompletion
|
||||
assert_equal empty_proc, Reline.dialog_proc(:show_doc).dialog_proc
|
||||
ensure
|
||||
Reline.add_dialog_proc(:show_doc, original_show_doc_proc, Reline::DEFAULT_DIALOG_CONTEXT)
|
||||
end
|
||||
|
||||
def test_initialization_with_use_autocomplete
|
||||
original_show_doc_proc = Reline.dialog_proc(:show_doc)&.dialog_proc
|
||||
empty_proc = Proc.new {}
|
||||
Reline.add_dialog_proc(:show_doc, empty_proc)
|
||||
|
||||
IRB.conf[:USE_AUTOCOMPLETE] = true
|
||||
|
||||
IRB::RelineInputMethod.new
|
||||
|
||||
assert Reline.autocompletion
|
||||
assert_equal IRB::RelineInputMethod::SHOW_DOC_DIALOG, Reline.dialog_proc(:show_doc).dialog_proc
|
||||
ensure
|
||||
Reline.add_dialog_proc(:show_doc, original_show_doc_proc, Reline::DEFAULT_DIALOG_CONTEXT)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Add table
Reference in a new issue