From: duerst@... Date: 2016-11-29T09:28:29+00:00 Subject: [ruby-core:78413] [Ruby trunk Bug#12990] unicode_case_mapping_tests Issue #12990 has been updated by Martin D��rst. The culprit is line 4555 in enc/unicode/9.0.0/casefold.h: ``` {0xa64b, {2, {0x1c88, 0xa64a}}}, ``` With comments, this looks as follows: ``` {0xa64b /* ��� */, {2, {0x1c88, 0xa64a /* ���, ��� */}}}, ``` Correct would be ``` {0xa64b, {1|U, {0xa64a}}}, ``` But I don't want to fix this directly in enc/unicode/9.0.0/casefold.h because this file autogenerated. ---------------------------------------- Bug #12990: unicode_case_mapping_tests https://bugs.ruby-lang.org/issues/12990#change-61786 * Author: Nobuyoshi Nakada * Status: Open * Priority: Normal * Assignee: Martin D��rst * ruby -v: 56907 * Backport: 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED ---------------------------------------- I found that tests generated by `TestComprehensiveCaseFold.unicode_case_mapping_tests` compares `target` with same `target`, which should be always true usually. I suspect this is unintentional, tried comparison `target` with `result`, ```diff diff --git a/test/ruby/enc/test_case_comprehensive.rb b/test/ruby/enc/test_case_comprehensive.rb index 13639f3..cfff9b8 100644 --- a/test/ruby/enc/test_case_comprehensive.rb +++ b/test/ruby/enc/test_case_comprehensive.rb @@ -149,7 +149,7 @@ source = code.encode(encoding) * 5 target = "#{test.first_data[code]}#{test.follow_data[code]*4}".encode(encoding) result = source.__send__(test.method_name, *test.attributes) - assert_equal target, target, + assert_equal target, result, proc{"from #{code*5} (#{source.dump}) expected #{target.dump} but was #{result.dump}"} end end ``` and got 30 failures. Is this intentional? -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>