[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]