summaryrefslogtreecommitdiff
path: root/test/reline/test_key_actor_emacs.rb
diff options
context:
space:
mode:
authorima1zumi <[email protected]>2021-06-25 01:04:16 +0900
committeraycabta <[email protected]>2021-06-25 17:42:45 +0900
commitd340b091a82461b039cdfb9ba9c7ffee0ec89f0a (patch)
treee7441d4ff14718999f4140557f9a71595216dbb6 /test/reline/test_key_actor_emacs.rb
parentb048fd572af71c1015ac6701f718fbcf6dca2fb2 (diff)
[ruby/reline] Fix failed test
For ruby/ruby repository's AppVeyor CI (Windows environment), `Reline::IOGate.encoding` will be changed from `UTF-8` to `Windows-31J` after the test is run. So, when `test/reline/test_key_actor_emacs.rb` is loaded, `Reline::IOGate.encoding == Encoding::UTF_8` will be `true`, but at the time of test execution, `Reline::IOGate.encoding` is `Windows-31J`. For this reason, I changed the test method to check `Reline::IOGate.encoding` in the test method. https://github.com/ruby/reline/commit/10e1ce3320
Diffstat (limited to 'test/reline/test_key_actor_emacs.rb')
-rw-r--r--test/reline/test_key_actor_emacs.rb118
1 files changed, 59 insertions, 59 deletions
diff --git a/test/reline/test_key_actor_emacs.rb b/test/reline/test_key_actor_emacs.rb
index c45961ac35..77585cb690 100644
--- a/test/reline/test_key_actor_emacs.rb
+++ b/test/reline/test_key_actor_emacs.rb
@@ -2140,65 +2140,65 @@ class Reline::KeyActor::Emacs::Test < Reline::TestCase
end
# Unicode emoji test
- if Reline::IOGate.encoding == Encoding::UTF_8
- def test_ed_insert_for_include_zwj_emoji
- # U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 is family: man, woman, girl, boy "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ"
- input_keys("\u{1F468}") # U+1F468 is man "๐Ÿ‘จ"
- assert_line("\u{1F468}")
- assert_byte_pointer_size("\u{1F468}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
- assert_line("\u{1F468 200D}")
- assert_byte_pointer_size("\u{1F468 200D}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u{1F469}") # U+1F469 is woman "๐Ÿ‘ฉ"
- assert_line("\u{1F468 200D 1F469}")
- assert_byte_pointer_size("\u{1F468 200D 1F469}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
- assert_line("\u{1F468 200D 1F469 200D}")
- assert_byte_pointer_size("\u{1F468 200D 1F469 200D}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u{1F467}") # U+1F467 is girl "๐Ÿ‘ง"
- assert_line("\u{1F468 200D 1F469 200D 1F467}")
- assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
- assert_line("\u{1F468 200D 1F469 200D 1F467 200D}")
- assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D}")
- assert_cursor(2)
- assert_cursor_max(2)
- input_keys("\u{1F466}") # U+1F466 is boy "๐Ÿ‘ฆ"
- assert_line("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
- assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
- assert_cursor(2)
- assert_cursor_max(2)
- # U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 is family: man, woman, girl, boy "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ"
- input_keys("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
- assert_line("\u{1F468 200D 1F469 200D 1F467 200D 1F466 1F468 200D 1F469 200D 1F467 200D 1F466}")
- assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D 1F466 1F468 200D 1F469 200D 1F467 200D 1F466}")
- assert_cursor(4)
- assert_cursor_max(4)
- end
-
- def test_ed_insert_for_include_valiation_selector
- # U+0030 U+FE00 is DIGIT ZERO + VARIATION SELECTOR-1 "0๏ธ€"
- input_keys("\u0030") # U+0030 is DIGIT ZERO
- assert_line("\u0030")
- assert_byte_pointer_size("\u0030")
- assert_cursor(1)
- assert_cursor_max(1)
- input_keys("\uFE00") # U+FE00 is VARIATION SELECTOR-1
- assert_line("\u{0030 FE00}")
- assert_byte_pointer_size("\u{0030 FE00}")
- assert_cursor(1)
- assert_cursor_max(1)
- end
+ def test_ed_insert_for_include_zwj_emoji
+ return if Reline::IOGate.encoding != Encoding::UTF_8
+ # U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 is family: man, woman, girl, boy "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ"
+ input_keys("\u{1F468}") # U+1F468 is man "๐Ÿ‘จ"
+ assert_line("\u{1F468}")
+ assert_byte_pointer_size("\u{1F468}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
+ assert_line("\u{1F468 200D}")
+ assert_byte_pointer_size("\u{1F468 200D}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u{1F469}") # U+1F469 is woman "๐Ÿ‘ฉ"
+ assert_line("\u{1F468 200D 1F469}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
+ assert_line("\u{1F468 200D 1F469 200D}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469 200D}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u{1F467}") # U+1F467 is girl "๐Ÿ‘ง"
+ assert_line("\u{1F468 200D 1F469 200D 1F467}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u200D") # U+200D is ZERO WIDTH JOINER
+ assert_line("\u{1F468 200D 1F469 200D 1F467 200D}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ input_keys("\u{1F466}") # U+1F466 is boy "๐Ÿ‘ฆ"
+ assert_line("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
+ assert_cursor(2)
+ assert_cursor_max(2)
+ # U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 is family: man, woman, girl, boy "๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ"
+ input_keys("\u{1F468 200D 1F469 200D 1F467 200D 1F466}")
+ assert_line("\u{1F468 200D 1F469 200D 1F467 200D 1F466 1F468 200D 1F469 200D 1F467 200D 1F466}")
+ assert_byte_pointer_size("\u{1F468 200D 1F469 200D 1F467 200D 1F466 1F468 200D 1F469 200D 1F467 200D 1F466}")
+ assert_cursor(4)
+ assert_cursor_max(4)
+ end
+
+ def test_ed_insert_for_include_valiation_selector
+ return if Reline::IOGate.encoding != Encoding::UTF_8
+ # U+0030 U+FE00 is DIGIT ZERO + VARIATION SELECTOR-1 "0๏ธ€"
+ input_keys("\u0030") # U+0030 is DIGIT ZERO
+ assert_line("\u0030")
+ assert_byte_pointer_size("\u0030")
+ assert_cursor(1)
+ assert_cursor_max(1)
+ input_keys("\uFE00") # U+FE00 is VARIATION SELECTOR-1
+ assert_line("\u{0030 FE00}")
+ assert_byte_pointer_size("\u{0030 FE00}")
+ assert_cursor(1)
+ assert_cursor_max(1)
end
def test_em_yank_pop