summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormanga_osyo <manga.osyo@gmail.com>2021-10-02 08:44:22 +0900
committergit <svn-admin@ruby-lang.org>2021-10-02 19:58:41 +0900
commitb8327fb8b10615ddb3f5e1978d6d83be465503a9 (patch)
treef821dbcebffee34e22f624d6fb9c6e14f8d8d2ea /test
parentabc0304cb28cb9dcc3476993bc487884c139fd11 (diff)
[ruby/reline] Refactoring Reline::Key.match? and add test.
https://github.com/ruby/reline/commit/90e8999ae4
Diffstat (limited to 'test')
-rw-r--r--test/reline/test_reline_key.rb53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/reline/test_reline_key.rb b/test/reline/test_reline_key.rb
new file mode 100644
index 0000000000..0058fa85ec
--- /dev/null
+++ b/test/reline/test_reline_key.rb
@@ -0,0 +1,53 @@
+require_relative 'helper'
+require "reline"
+
+class Reline::Test < Reline::TestCase
+ def setup
+ end
+
+ def teardown
+ Reline.test_reset
+ end
+
+ def test_match_key
+ assert(Reline::Key.new(1, 2, false).match?(Reline::Key.new(1, 2, false)))
+ assert(Reline::Key.new(1, 2, false).match?(Reline::Key.new(nil, 2, false)))
+ assert(Reline::Key.new(1, 2, false).match?(Reline::Key.new(1, 2, nil)))
+
+ assert(Reline::Key.new(nil, 2, false).match?(Reline::Key.new(nil, 2, false)))
+ assert(Reline::Key.new(1, nil, false).match?(Reline::Key.new(1, nil, false)))
+ assert(Reline::Key.new(1, 2, nil).match?(Reline::Key.new(1, 2, nil)))
+
+ assert(Reline::Key.new(nil, 2, false).match?(Reline::Key.new(nil, 2, false)))
+ assert(Reline::Key.new(1, nil, false).match?(Reline::Key.new(1, nil, false)))
+ assert(Reline::Key.new(1, 2, nil).match?(Reline::Key.new(1, 2, nil)))
+
+ assert(!Reline::Key.new(1, 2, false).match?(Reline::Key.new(3, 1, false)))
+ assert(!Reline::Key.new(1, 2, false).match?(Reline::Key.new(1, 3, false)))
+ assert(!Reline::Key.new(1, 2, false).match?(Reline::Key.new(1, 3, true)))
+ end
+
+ def test_match_integer
+ assert(Reline::Key.new(1, 2, false).match?(2))
+ assert(Reline::Key.new(nil, 2, false).match?(2))
+ assert(Reline::Key.new(1, nil, false).match?(1))
+
+ assert(!Reline::Key.new(1, 2, false).match?(1))
+ assert(!Reline::Key.new(1, nil, false).match?(2))
+ assert(!Reline::Key.new(nil, nil, false).match?(1))
+ end
+
+ def test_match_symbol
+ assert(Reline::Key.new(:key1, :key2, false).match?(:key2))
+ assert(Reline::Key.new(:key1, nil, false).match?(:key1))
+
+ assert(!Reline::Key.new(:key1, :key2, false).match?(:key1))
+ assert(!Reline::Key.new(:key1, nil, false).match?(:key2))
+ assert(!Reline::Key.new(nil, nil, false).match?(:key1))
+ end
+
+ def test_match_other
+ assert(!Reline::Key.new(:key1, 2, false).match?("key1"))
+ assert(!Reline::Key.new(nil, nil, false).match?(nil))
+ end
+end