diff options
author | manga_osyo <manga.osyo@gmail.com> | 2021-10-02 08:44:22 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-10-02 19:58:41 +0900 |
commit | b8327fb8b10615ddb3f5e1978d6d83be465503a9 (patch) | |
tree | f821dbcebffee34e22f624d6fb9c6e14f8d8d2ea /test | |
parent | abc0304cb28cb9dcc3476993bc487884c139fd11 (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.rb | 53 |
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 |