From 0e292561756eae33f73d6ab93ee3ddb0aeab3dd2 Mon Sep 17 00:00:00 2001 From: duerst Date: Tue, 12 Jul 2016 23:40:26 +0000 Subject: [PATCH] * test/ruby/enc/test_iso_8859.rb: Excluded dotless i/I with dot from case-insensitive matching because they are not a case pair. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ test/ruby/enc/test_iso_8859.rb | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 66c160b4d1..1778f8076a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jul 13 08:40:21 2016 Martin Duerst + + * test/ruby/enc/test_iso_8859.rb: Excluded dotless i/I with dot from + case-insensitive matching because they are not a case pair. + Tue Jul 12 23:13:43 2016 Nobuyoshi Nakada * math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support diff --git a/test/ruby/enc/test_iso_8859.rb b/test/ruby/enc/test_iso_8859.rb index f6b3b3f28b..067c375f51 100644 --- a/test/ruby/enc/test_iso_8859.rb +++ b/test/ruby/enc/test_iso_8859.rb @@ -29,13 +29,15 @@ class TestISO8859 < Test::Unit::TestCase end def test_iso_8859_3 + # todo: decide on behavior, test, and fix implementation re. İ and ı (0xA9/0xB9) + # treating them as case equivalents is definitely an error eval(%q(# encoding: iso8859-3 assert_match(/^(\xdf)\1$/i, "\xdf\xdf") assert_match(/^(\xdf)\1$/i, "ssss") assert_match(/^[\xdfz]+$/i, "sszzsszz") assert_match(/^SS$/i, "\xdf") assert_match(/^Ss$/i, "\xdf") - [0xa1, 0xa6, *(0xa9..0xac), 0xaf].each do |c| + [0xa1, 0xa6, *(0xaa..0xac), 0xaf].each do |c| c1 = c.chr("iso8859-3") c2 = (c + 0x10).chr("iso8859-3") assert_match(/^(#{ c1 })\1$/i, c2 + c1)