kernel32/tests: Add more Unicode digit ranges.

This commit is contained in:
Alexandre Julliard 2014-03-07 13:37:14 +01:00
parent 83367e874c
commit e64189aa55
1 changed files with 40 additions and 6 deletions

View File

@ -2320,6 +2320,7 @@ static void test_FoldStringW(void)
0x0030, /* '0'-'9' */
0x0660, /* Eastern Arabic */
0x06F0, /* Arabic - Hindu */
0x07C0, /* Nko */
0x0966, /* Devengari */
0x09E6, /* Bengalii */
0x0A66, /* Gurmukhi */
@ -2331,16 +2332,37 @@ static void test_FoldStringW(void)
0x0D66, /* Maylayalam */
0x0E50, /* Thai */
0x0ED0, /* Laos */
0x0F29, /* Tibet - 0 is out of sequence */
0x0F20, /* Tibet */
0x0F29, /* Tibet half - 0 is out of sequence */
0x1040, /* Myanmar */
0x1090, /* Myanmar Shan */
0x1368, /* Ethiopic - no 0 */
0x17E0, /* Khmer */
0x1810, /* Mongolian */
0x1946, /* Limbu */
0x19D0, /* New Tai Lue */
0x1A80, /* Tai Tham Hora */
0x1A90, /* Tai Tham Tham */
0x1B50, /* Balinese */
0x1BB0, /* Sundanese */
0x1C40, /* Lepcha */
0x1C50, /* Ol Chiki */
0x2070, /* Superscript - 1, 2, 3 are out of sequence */
0x2080, /* Subscript */
0x245F, /* Circled - 0 is out of sequence */
0x2473, /* Bracketed */
0x2487, /* Full stop */
0x24F4, /* Double Circled */
0x2775, /* Inverted circled - No 0 */
0x277F, /* Patterned circled - No 0 */
0x2789, /* Inverted Patterned circled - No 0 */
0x3020, /* Hangzhou */
0xA620, /* Vai */
0xA8D0, /* Saurashtra */
0xA900, /* Kayah Li */
0xA9D0, /* Javanese */
0xAA50, /* Cham */
0xABF0, /* Meetei Mayek */
0xff10, /* Pliene chasse (?) */
0xffff /* Terminator */
};
@ -2350,8 +2372,17 @@ static void test_FoldStringW(void)
0xB9, /* Superscript 1 */
0xB2, /* Superscript 2 */
0xB3, /* Superscript 3 */
0x0C78, /* Telugu Fraction 0 */
0x0C79, /* Telugu Fraction 1 */
0x0C7A, /* Telugu Fraction 2 */
0x0C7B, /* Telugu Fraction 3 */
0x0C7C, /* Telugu Fraction 1 */
0x0C7D, /* Telugu Fraction 2 */
0x0C7E, /* Telugu Fraction 3 */
0x0F33, /* Tibetan half zero */
0x19DA, /* New Tai Lue Tham 1 */
0x24EA, /* Circled 0 */
0x24FF, /* Negative Circled 0 */
0x3007, /* Ideographic number zero */
'\0' /* Terminator */
};
@ -2360,8 +2391,10 @@ static void test_FoldStringW(void)
{
0x0BE6, /* No Tamil 0 */
0x0F29, /* No Tibetan half zero (out of sequence) */
0x1368, /* No Ethiopic 0 */
0x2473, /* No Bracketed 0 */
0x2487, /* No 0 Full stop */
0x24F4, /* No double circled 0 */
0x2775, /* No inverted circled 0 */
0x277F, /* No patterned circled */
0x2789, /* No inverted Patterned circled */
@ -2489,10 +2522,11 @@ static void test_FoldStringW(void)
ok(ret == 2, "Expected ret == 2, got %d, error %d\n", ret, GetLastError());
ok(dst[0] == ch || strchrW(outOfSequenceDigits, ch) ||
/* Wine (correctly) maps all Unicode 4.0+ digits */
isdigitW(ch) || (ch >= 0x24F5 && ch <= 0x24FD) || ch == 0x24FF || ch == 0x19da ||
(ch >= 0x1369 && ch <= 0x1371),
"MAP_FOLDDIGITS: ch %d 0x%04x Expected unchanged got %d\n", ch, ch, dst[0]);
(ch >= 0xa8e0 && ch <= 0xa8e9), /* combining Devanagari on Win8 */
"MAP_FOLDDIGITS: ch 0x%04x Expected unchanged got %04x\n", ch, dst[0]);
ok(!isdigitW(ch) || strchrW(outOfSequenceDigits, ch) ||
broken( ch >= 0xbf0 && ch <= 0xbf2 ), /* win2k */
"char %04x should not be a digit\n", ch );
}
if (digitRanges[j] == 0xffff)
@ -2519,7 +2553,7 @@ static void test_FoldStringW(void)
(digitRanges[j] == 0x3020 && dst[0] == ch) || /* Hangzhou not present in all Windows versions */
(digitRanges[j] == 0x0F29 && dst[0] == ch) || /* Tibetan not present in all Windows versions */
strchrW(noDigitAvailable, c),
"MAP_FOLDDIGITS: ch %d Expected %d got %d\n",
"MAP_FOLDDIGITS: ch %04x Expected %04x got %04x\n",
ch, '0' + digitRanges[j] - ch, dst[0]);
}
prev_ch = ch;