diff options
author | Nobuyoshi Nakada <[email protected]> | 2019-06-02 13:10:03 +0900 |
---|---|---|
committer | aycabta <[email protected]> | 2019-06-03 01:35:48 +0900 |
commit | 3457ce448655a3c2e52793186f62298903ddc26b (patch) | |
tree | 3c79a3abfde15147dfb66fa504ef9a8a8ff9cbdc /test/reline/test_macro.rb | |
parent | f4b060d8d7f927306cbbe24df888a09112acd4c8 (diff) |
Fix ArgumentError in aliased macro
Closes: https://github.com/ruby/ruby/pull/2221
Diffstat (limited to 'test/reline/test_macro.rb')
-rw-r--r-- | test/reline/test_macro.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/reline/test_macro.rb b/test/reline/test_macro.rb new file mode 100644 index 0000000000..7d92b32cba --- /dev/null +++ b/test/reline/test_macro.rb @@ -0,0 +1,34 @@ +require_relative 'helper' + +class Reline::MacroTest < Reline::TestCase + def setup + @config = Reline::Config.new + @line_editor = Reline::LineEditor.new(@config) + @line_editor.instance_variable_set(:@screen_size, [24, 80]) + @line_editor.output = File.open(IO::NULL, "w") + end + + def input_key(char, combined_char = char, with_meta = false) + @line_editor.input_key(Reline::Key.new(char, combined_char, with_meta)) + end + + def input(str) + str.each_byte {|c| input_key(c)} + end + + def test_simple_input + input('abc') + assert_equal 'abc', @line_editor.line + end + + def test_alias + class << @line_editor + alias delete_char ed_delete_prev_char + end + input('abc') + assert_nothing_raised(ArgumentError) { + input_key(:delete_char) + } + assert_equal 'ab', @line_editor.line + end +end |