]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/cintltst/usrchtst.c
ICU-64260.0.1.tar.gz
[apple/icu.git] / icuSources / test / cintltst / usrchtst.c
index cae43f01e1a2d7efba200167abaa010abd0d0b4f..c765f5849fd9b8251ccd95121468cf13597498a7 100644 (file)
@@ -1,3 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /********************************************************************
  * Copyright (c) 2001-2016 International Business Machines
  * Corporation and others. All Rights Reserved.
@@ -2773,6 +2775,25 @@ static const PatternAndOffsets scJaSrchPatternsOffsets[] = {
     { NULL,      NULL,           0,                           NULL }
 };
 
+static const UChar scFaText[] = { // Apple <rdar://problem/34998959>
+/*00*/ 0x064A,0x0627,0x0649,0x0627,0x06CC,0x0627,
+/*06*/ 0
+};
+
+// Any of the following should match any of the others for fa search, primary strength
+static const UChar scFaPat1[] = { 0x064A,0 };
+static const UChar scFaPat2[] = { 0x0649,0 };
+static const UChar scFaPat3[] = { 0x06CC,0 };
+
+static const int32_t scFaSrchOff[]  = { 0, 2, 4 };
+
+static const PatternAndOffsets scFaSrchPatternsOffsets[] = {
+    { scFaPat1, scFaSrchOff,   UPRV_LENGTHOF(scFaSrchOff), NULL },
+    { scFaPat2, scFaSrchOff,   UPRV_LENGTHOF(scFaSrchOff), NULL },
+    { scFaPat3, scFaSrchOff,   UPRV_LENGTHOF(scFaSrchOff), NULL },
+    { NULL,     NULL,          0,                          NULL }
+};
+
 static const UChar scModsText[] = {
 /*00*/ 0x0020,0xD83D,0xDC4D,
 /*03*/ 0x0020,0xD83D,0xDC4D,0xD83C,0xDFFC,
@@ -2797,6 +2818,25 @@ static const PatternAndOffsets scModsPatternsOffsets[] = {
     { NULL,      NULL,           0,                        NULL }
 };
 
+static const UChar scFlagText[] = {
+/*00*/ 0xD83C,0xDDF3,0xD83C,0xDDFF, /*NZ*/
+/*04*/ 0xD83C,0xDFF4,0xDB40,0xDC67,0xDB40,0xDC62,0xDB40,0xDC65,0xDB40,0xDC6E,0xDB40,0xDC67,0xDB40,0xDC7F, /*gbeng*/
+/*18*/ 0x0061,0x0062,0x0063,
+/*21*/ 0xD83C,0xDFF4,0xDB40,0xDC67,0xDB40,0xDC62,0xDB40,0xDC73,0xDB40,0xDC63,0xDB40,0xDC74,0xDB40,0xDC7F, /*gbsct*/
+/*35*/ 0xD83C,0xDFF4,0xDB40,0xDC67,0xDB40,0xDC62,0xDB40,0xDC77,0xDB40,0xDC6C,0xDB40,0xDC73,0xDB40,0xDC7F, /*gbwls*/
+/*49*/ 0x0020,0
+};
+
+static const UChar scFlag1[] = { 0xD83C,0xDFF4,0xDB40,0xDC67,0xDB40,0xDC62,0xDB40,0xDC73,0xDB40,0xDC63,0xDB40,0xDC74,0xDB40,0xDC7F,0 }; /* gbsct */
+static const int32_t scOffFlag1[]  = { 21 };
+static const int32_t scLenFlag1[]  = { 14 };
+
+static const PatternAndOffsets scFlagPatternsOffsets[] = {
+    { scFlag1,   scOffFlag1,   UPRV_LENGTHOF(scOffFlag1),   scLenFlag1 },
+    { NULL,      NULL,         0,                           NULL }
+};
+
+
 typedef struct {
     const char *  locale;
     const UChar * text;
@@ -2811,7 +2851,9 @@ static const TUSCItem tuscItems[] = {
     { "root@collation=search;colStrength=primary", scJaText, scJaSrchPatternsOffsets },
     { "ja@colStrength=primary",                    scJaText, scJaStndPatternsOffsets },
     { "ja@collation=search;colStrength=primary",   scJaText, scJaSrchPatternsOffsets },
+    { "fa@collation=search;colStrength=primary",   scFaText, scFaSrchPatternsOffsets }, // Apple <rdar://problem/34998959>
     { "root@collation=search;colStrength=primary", scModsText, scModsPatternsOffsets },
+    { "root@collation=search;colStrength=primary", scFlagText, scFlagPatternsOffsets },
     { NULL,                    NULL,     NULL                    }
 };