summaryrefslogtreecommitdiff
path: root/test/reline/test_key_stroke.rb
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2019-05-24 23:38:40 +0900
committeraycabta <aycabta@gmail.com>2019-05-24 23:38:40 +0900
commiteb4e774711b17b8a25a7b16c4f0b6044da3dc261 (patch)
treed33f0bfb2087ee0169422d08b8553678fd189f75 /test/reline/test_key_stroke.rb
parent2d34087a38ac680c5576a56fbf4104c3561b0204 (diff)
Support Meta key in Reline
Diffstat (limited to 'test/reline/test_key_stroke.rb')
-rw-r--r--test/reline/test_key_stroke.rb46
1 files changed, 16 insertions, 30 deletions
diff --git a/test/reline/test_key_stroke.rb b/test/reline/test_key_stroke.rb
index b6d5ce4150..e76129d04b 100644
--- a/test/reline/test_key_stroke.rb
+++ b/test/reline/test_key_stroke.rb
@@ -4,30 +4,16 @@ class Reline::KeyStroke::Test < Reline::TestCase
using Module.new {
refine Array do
def as_s
- map(&:chr).join
+ join
+ end
+
+ def to_keys
+ map{ |b| Reline::Key.new(b, b, false) }
end
end
}
- def test_input_to!
- config = {
- key_mapping: {
- "a" => "xx",
- "ab" => "y",
- "abc" => "z",
- "x" => "rr"
- }
- }
- stroke = Reline::KeyStroke.new(config)
- result = ("abzwabk".bytes).map { |char|
- stroke.input_to!(char)&.then { |result|
- "#{result.as_s}"
- }
- }
- assert_equal(result, [nil, nil, "yz", "w", nil, nil, "yk"])
- end
-
- def test_input_to
+ def test_match_status
config = {
key_mapping: {
"a" => "xx",
@@ -37,15 +23,15 @@ class Reline::KeyStroke::Test < Reline::TestCase
}
}
stroke = Reline::KeyStroke.new(config)
- assert_equal(stroke.input_to("a".bytes)&.as_s, nil)
- assert_equal(stroke.input_to("ab".bytes)&.as_s, nil)
- assert_equal(stroke.input_to("abc".bytes)&.as_s, "z")
- assert_equal(stroke.input_to("abz".bytes)&.as_s, "yz")
- assert_equal(stroke.input_to("abx".bytes)&.as_s, "yrr")
- assert_equal(stroke.input_to("ac".bytes)&.as_s, "rrrrc")
- assert_equal(stroke.input_to("aa".bytes)&.as_s, "rrrrrrrr")
- assert_equal(stroke.input_to("x".bytes)&.as_s, "rr")
- assert_equal(stroke.input_to("m".bytes)&.as_s, "m")
- assert_equal(stroke.input_to("abzwabk".bytes)&.as_s, "yzwabk")
+ assert_equal(:matching, stroke.match_status("a".bytes))
+ assert_equal(:matching, stroke.match_status("ab".bytes))
+ assert_equal(:matched, stroke.match_status("abc".bytes))
+ assert_equal(:matched, stroke.match_status("abz".bytes))
+ assert_equal(:matched, stroke.match_status("abx".bytes))
+ assert_equal(:matched, stroke.match_status("ac".bytes))
+ assert_equal(:matched, stroke.match_status("aa".bytes))
+ assert_equal(:matched, stroke.match_status("x".bytes))
+ assert_equal(:unmatched, stroke.match_status("m".bytes))
+ assert_equal(:matched, stroke.match_status("abzwabk".bytes))
end
end