diff options
author | nagachika <nagachika@ruby-lang.org> | 2022-11-05 13:56:58 +0900 |
---|---|---|
committer | nagachika <nagachika@ruby-lang.org> | 2022-11-05 14:24:03 +0900 |
commit | 8572f02d63de2b99389df0791d6eacb77482afef (patch) | |
tree | 18f4c9d21e9fda36fc4dfce7165c9aa51f2e8854 /test | |
parent | 597ce7966c38e4f7fc7368a860ac2d056de794ba (diff) |
merge revision(s) 35c794b26d406c39f90e188e3884003fe6aca532,725626d8905fe1ac4a2cf1c3e2db6412bf8f381f,b32a3f1275a8c7748f2134492ce3c532f277d261: [Backport #18964]
Fixed by [Bug #18964]
---
file.c | 3 ---
1 file changed, 3 deletions(-)
[Bug #18964] Update the code range of appended portion
---
ext/-test-/econv/append.c | 15 +++++++++++++++
ext/-test-/econv/extconf.rb | 3 +++
ext/-test-/econv/init.c | 11 +++++++++++
transcode.c | 34 ++++++++++++++++++++++++++++++----
4 files changed, 59 insertions(+), 4 deletions(-)
create mode 100644 ext/-test-/econv/append.c
create mode 100644 ext/-test-/econv/extconf.rb
create mode 100644 ext/-test-/econv/init.c
[Bug #18964] Add test for `rb_econv_append`
---
test/-ext-/econv/test_append.rb | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 test/-ext-/econv/test_append.rb
Diffstat (limited to 'test')
-rw-r--r-- | test/-ext-/econv/test_append.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/-ext-/econv/test_append.rb b/test/-ext-/econv/test_append.rb new file mode 100644 index 0000000000..f8c1d2add6 --- /dev/null +++ b/test/-ext-/econv/test_append.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: false +require 'test/unit' +require "-test-/econv" + +class Test_EConvAppend < Test::Unit::TestCase + def test_econv_str_append_valid + ec = Bug::EConv.new("utf-8", "cp932") + dst = "\u3044".encode("cp932") + ret = ec.append("\u3042"*30, dst) + assert_same(dst, ret) + assert_not_predicate(dst, :ascii_only?) + assert_predicate(dst, :valid_encoding?) + end + + def test_econv_str_append_broken + ec = Bug::EConv.new("utf-8", "cp932") + dst = "" + ret = ec.append("\u3042"*30, dst) + assert_same(dst, ret) + assert_not_predicate(dst, :ascii_only?) + assert_not_predicate(dst, :valid_encoding?) + end +end |