ruby-changes:67629
From: aycabta <ko1@a...>
Date: Mon, 6 Sep 2021 08:10:20 +0900 (JST)
Subject: [ruby-changes:67629] 540eea39dd (master): [ruby/reline] Add a test for key bindings with Reline::Key
https://git.ruby-lang.org/ruby.git/commit/?id=540eea39dd From 540eea39ddd358780a6002cbf60a37a79c27c61f Mon Sep 17 00:00:00 2001 From: aycabta <aycabta@g...> Date: Mon, 6 Sep 2021 07:03:48 +0900 Subject: [ruby/reline] Add a test for key bindings with Reline::Key https://github.com/ruby/reline/commit/cadbd576c7 --- test/reline/test_key_stroke.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/reline/test_key_stroke.rb b/test/reline/test_key_stroke.rb index 7971598..d377a1e 100644 --- a/test/reline/test_key_stroke.rb +++ b/test/reline/test_key_stroke.rb @@ -58,4 +58,22 @@ class Reline::KeyStroke::Test < Reline::TestCase https://github.com/ruby/ruby/blob/trunk/test/reline/test_key_stroke.rb#L58 assert_equal(:unmatched, stroke.match_status('zzz'.bytes)) assert_equal(:matched, stroke.match_status('abc'.bytes)) end + + def test_with_reline_key + config = Reline::Config.new + { + [ + Reline::Key.new(100, 228, true), # Alt+d + Reline::Key.new(97, 97, false) # a + ] => 'abc', + [195, 164] => 'def' + }.each_pair do |key, func| + config.add_oneshot_key_binding(key, func.bytes) + end + stroke = Reline::KeyStroke.new(config) + assert_equal(:unmatched, stroke.match_status('da'.bytes)) + assert_equal(:matched, stroke.match_status("\M-da".bytes)) + assert_equal(:unmatched, stroke.match_status([32, 195, 164])) + assert_equal(:matched, stroke.match_status([195, 164])) + end end -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/