summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authortomoya ishida <tomoyapenguin@gmail.com>2024-11-12 00:31:01 +0900
committergit <svn-admin@ruby-lang.org>2024-11-11 15:31:04 +0000
commit25d17868de058cd857ec04496222b101be9a5429 (patch)
treec486139b4dbe9b4d08e59b8a59dc294fcff8e188 /test
parent3ac5c053279c9a567fe1fa336840fd86f730c5e5 (diff)
[ruby/reline] Refactor perform_completon
(https://github.com/ruby/reline/pull/778) Flatten recursive method Remove CompletionState::COMPLETE https://github.com/ruby/reline/commit/aa5b278f3d
Diffstat (limited to 'test')
-rw-r--r--test/reline/test_key_actor_emacs.rb3
-rw-r--r--test/reline/test_unicode.rb10
2 files changed, 13 insertions, 0 deletions
diff --git a/test/reline/test_key_actor_emacs.rb b/test/reline/test_key_actor_emacs.rb
index a7e60a509b..d07a2ee3c3 100644
--- a/test/reline/test_key_actor_emacs.rb
+++ b/test/reline/test_key_actor_emacs.rb
@@ -986,6 +986,9 @@ class Reline::KeyActor::EmacsTest < Reline::TestCase
input_keys('b')
input_keys("\C-i", false)
assert_line_around_cursor('foo_ba', '')
+ input_keys('Z')
+ input_keys("\C-i", false)
+ assert_line_around_cursor('Foo_baz', '')
end
def test_completion_in_middle_of_line
diff --git a/test/reline/test_unicode.rb b/test/reline/test_unicode.rb
index a0ed7eed7b..07ed8c6230 100644
--- a/test/reline/test_unicode.rb
+++ b/test/reline/test_unicode.rb
@@ -107,6 +107,16 @@ class Reline::Unicode::Test < Reline::TestCase
assert_equal ["\e[41m \e[42mい\e[43m ", 1, 4], Reline::Unicode.take_mbchar_range("\e[41mあ\e[42mい\e[43mう", 1, 4, padding: true)
end
+ def test_common_prefix
+ assert_equal('', Reline::Unicode.common_prefix([]))
+ assert_equal('abc', Reline::Unicode.common_prefix(['abc']))
+ assert_equal('12', Reline::Unicode.common_prefix(['123', '123️⃣']))
+ assert_equal('', Reline::Unicode.common_prefix(['abc', 'xyz']))
+ assert_equal('ab', Reline::Unicode.common_prefix(['abcd', 'abc', 'abx', 'abcd']))
+ assert_equal('A', Reline::Unicode.common_prefix(['AbcD', 'ABC', 'AbX', 'AbCD']))
+ assert_equal('Ab', Reline::Unicode.common_prefix(['AbcD', 'ABC', 'AbX', 'AbCD'], ignore_case: true))
+ end
+
def test_encoding_conversion
texts = [
String.new("invalid\xFFutf8", encoding: 'utf-8'),