summaryrefslogtreecommitdiff
path: root/test/reline
diff options
context:
space:
mode:
authorLars Kanis <lars@greiz-reinsdorf.de>2020-01-18 21:22:24 +0100
committeraycabta <aycabta@gmail.com>2020-01-21 21:26:58 +0900
commitb0ca1fc21bbb9dac65a3b3f7b5935e691ece1501 (patch)
tree0127680ae58b77481f088bac020387e09b2a084d /test/reline
parentd1166c6d3942303b812c475129a84f1025b1db1f (diff)
Reline: Fix changed test results due to change to UTF-8 on Windows
In commit f8ea2860b0cac1aec79978e6c44168802958e8af the Reline encoding for native windows console was changed to hardcoded UTF-8. This caused failures in reline and readline tests, but they were hidden, because parallel ruby tests incorrectly used Reline::ANSI as IOGate. Tests failures were raised in single process mode, but not with -j switch. This patch corrects encodings on native Windows console.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2848
Diffstat (limited to 'test/reline')
-rw-r--r--test/reline/test_history.rb6
-rw-r--r--test/reline/test_reline.rb22
2 files changed, 18 insertions, 10 deletions
diff --git a/test/reline/test_history.rb b/test/reline/test_history.rb
index 260b6e8528..13d3d2f90b 100644
--- a/test/reline/test_history.rb
+++ b/test/reline/test_history.rb
@@ -268,6 +268,10 @@ class Reline::History::Test < Reline::TestCase
end
def get_default_internal_encoding
- return Encoding.default_internal || Encoding.find("locale")
+ if RUBY_PLATFORM =~ /mswin|mingw/
+ Encoding.default_internal || Encoding::UTF_8
+ else
+ Encoding.default_internal || Encoding.find("locale")
+ end
end
end
diff --git a/test/reline/test_reline.rb b/test/reline/test_reline.rb
index 274f1aa6ba..d6a6e21ceb 100644
--- a/test/reline/test_reline.rb
+++ b/test/reline/test_reline.rb
@@ -21,15 +21,15 @@ class Reline::Test < Reline::TestCase
Reline.completion_append_character = "a".encode(Encoding::ASCII)
assert_equal("a", Reline.completion_append_character)
- assert_equal(Encoding::default_external, Reline.completion_append_character.encoding)
+ assert_equal(get_reline_encoding, Reline.completion_append_character.encoding)
Reline.completion_append_character = "ba".encode(Encoding::ASCII)
assert_equal("b", Reline.completion_append_character)
- assert_equal(Encoding::default_external, Reline.completion_append_character.encoding)
+ assert_equal(get_reline_encoding, Reline.completion_append_character.encoding)
Reline.completion_append_character = "cba".encode(Encoding::ASCII)
assert_equal("c", Reline.completion_append_character)
- assert_equal(Encoding::default_external, Reline.completion_append_character.encoding)
+ assert_equal(get_reline_encoding, Reline.completion_append_character.encoding)
Reline.completion_append_character = nil
assert_equal(nil, Reline.completion_append_character)
@@ -40,7 +40,7 @@ class Reline::Test < Reline::TestCase
Reline.basic_word_break_characters = "[".encode(Encoding::ASCII)
assert_equal("[", Reline.basic_word_break_characters)
- assert_equal(Encoding::default_external, Reline.basic_word_break_characters.encoding)
+ assert_equal(get_reline_encoding, Reline.basic_word_break_characters.encoding)
end
def test_completer_word_break_characters
@@ -48,7 +48,7 @@ class Reline::Test < Reline::TestCase
Reline.completer_word_break_characters = "[".encode(Encoding::ASCII)
assert_equal("[", Reline.completer_word_break_characters)
- assert_equal(Encoding::default_external, Reline.completer_word_break_characters.encoding)
+ assert_equal(get_reline_encoding, Reline.completer_word_break_characters.encoding)
end
def test_basic_quote_characters
@@ -56,7 +56,7 @@ class Reline::Test < Reline::TestCase
Reline.basic_quote_characters = "`".encode(Encoding::ASCII)
assert_equal("`", Reline.basic_quote_characters)
- assert_equal(Encoding::default_external, Reline.basic_quote_characters.encoding)
+ assert_equal(get_reline_encoding, Reline.basic_quote_characters.encoding)
end
def test_completer_quote_characters
@@ -64,7 +64,7 @@ class Reline::Test < Reline::TestCase
Reline.completer_quote_characters = "`".encode(Encoding::ASCII)
assert_equal("`", Reline.completer_quote_characters)
- assert_equal(Encoding::default_external, Reline.completer_quote_characters.encoding)
+ assert_equal(get_reline_encoding, Reline.completer_quote_characters.encoding)
end
def test_filename_quote_characters
@@ -72,7 +72,7 @@ class Reline::Test < Reline::TestCase
Reline.filename_quote_characters = "\'".encode(Encoding::ASCII)
assert_equal("\'", Reline.filename_quote_characters)
- assert_equal(Encoding::default_external, Reline.filename_quote_characters.encoding)
+ assert_equal(get_reline_encoding, Reline.filename_quote_characters.encoding)
end
def test_special_prefixes
@@ -80,7 +80,7 @@ class Reline::Test < Reline::TestCase
Reline.special_prefixes = "\'".encode(Encoding::ASCII)
assert_equal("\'", Reline.special_prefixes)
- assert_equal(Encoding::default_external, Reline.special_prefixes.encoding)
+ assert_equal(get_reline_encoding, Reline.special_prefixes.encoding)
end
def test_completion_case_fold
@@ -267,4 +267,8 @@ class Reline::Test < Reline::TestCase
def test_may_req_ambiguous_char_width
# TODO in Reline::Core
end
+
+ def get_reline_encoding
+ RUBY_PLATFORM =~ /mswin|mingw/ ? Encoding::UTF_8 : Encoding::default_external
+ end
end