summaryrefslogtreecommitdiff
path: root/test/reline
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-02 13:10:03 +0900
committeraycabta <aycabta@gmail.com>2019-06-03 01:35:48 +0900
commit3457ce448655a3c2e52793186f62298903ddc26b (patch)
tree3c79a3abfde15147dfb66fa504ef9a8a8ff9cbdc /test/reline
parentf4b060d8d7f927306cbbe24df888a09112acd4c8 (diff)
Fix ArgumentError in aliased macro
Closes: https://github.com/ruby/ruby/pull/2221
Diffstat (limited to 'test/reline')
-rw-r--r--test/reline/test_macro.rb34
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