Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Unified Diff: source/test/cintltst/cbiditst.c

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/cintltst/capitst.c ('k') | source/test/cintltst/ccaltst.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/cintltst/cbiditst.c
diff --git a/source/test/cintltst/cbiditst.c b/source/test/cintltst/cbiditst.c
index c896ce3fc2b6d823868ea473c2daad8430644860..dd39b027442382cbf1b55e85eb981de463725175 100644
--- a/source/test/cintltst/cbiditst.c
+++ b/source/test/cintltst/cbiditst.c
@@ -1,6 +1,6 @@
/********************************************************************
* COPYRIGHT:
- * Copyright (c) 1997-2013, International Business Machines Corporation and
+ * Copyright (c) 1997-2014, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/* file name: cbiditst.c
@@ -24,7 +24,6 @@
#include <stdio.h>
#define MAXLEN MAX_STRING_LENGTH
-#define LENGTHOF(array) (sizeof(array)/sizeof((array)[0]))
/* prototypes ---------------------------------------------------------------*/
@@ -70,6 +69,10 @@ static void doArabicShapingTestForBug8703(void);
static void doArabicShapingTestForBug9024(void);
+static void _testPresentationForms(const UChar *in);
+
+static void doArabicShapingTestForNewCharacters(void);
+
static void testReorder(void);
static void testReorderArabicMathSymbols(void);
@@ -143,6 +146,7 @@ addComplexTest(TestNode** root) {
addTest(root, doArabicShapingTestForBug8703, "complex/arabic-shaping/bug-8703");
addTest(root, testReorderArabicMathSymbols, "complex/bidi/bug-9024");
addTest(root, doArabicShapingTestForBug9024, "complex/arabic-shaping/bug-9024");
+ addTest(root, doArabicShapingTestForNewCharacters, "complex/arabic-shaping/shaping2");
}
static void
@@ -728,7 +732,7 @@ testReorder(void) {
log_verbose("\nEntering TestReorder\n\n");
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = (int32_t)strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar src[MAXLEN];
@@ -763,7 +767,7 @@ testReorder(void) {
checkWhatYouCan(bidi, logicalOrder[i], chars);
}
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = (int32_t)strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar src[MAXLEN];
@@ -797,7 +801,7 @@ testReorder(void) {
}
}
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = (int32_t)strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar src[MAXLEN];
@@ -828,7 +832,7 @@ testReorder(void) {
}
}
/* Max Explicit level */
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = (int32_t)strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar src[MAXLEN];
@@ -862,7 +866,7 @@ testReorder(void) {
logicalOrder[i],visualOrder3[i],chars,formatLevels(bidi, formatChars),i);
}
}
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = (int32_t)strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar src[MAXLEN];
@@ -990,7 +994,7 @@ testReorderArabicMathSymbols(void) {
log_verbose("\nEntering TestReorderArabicMathSymbols\n\n");
- for(i=0;i<LENGTHOF(logicalOrder);i++){
+ for(i=0;i<UPRV_LENGTHOF(logicalOrder);i++){
int32_t srcSize = u_strlen(logicalOrder[i]);
int32_t destSize = srcSize*2;
UChar dest[MAXLEN];
@@ -1282,7 +1286,7 @@ _testReordering(UBiDi *pBiDi, int testNumber) {
return; \
} \
-#define STRING_TEST_CASE(s) { (s), LENGTHOF(s) }
+#define STRING_TEST_CASE(s) { (s), UPRV_LENGTHOF(s) }
static void testGetBaseDirection(void) {
UBiDiDirection dir;
@@ -1352,9 +1356,9 @@ static void testGetBaseDirection(void) {
};
log_verbose("testGetBaseDirection() with %u test cases ---\n",
- LENGTHOF(testCases));
+ UPRV_LENGTHOF(testCases));
/* Run Tests */
- for(i=0; i<LENGTHOF(testCases); ++i) {
+ for(i=0; i<UPRV_LENGTHOF(testCases); ++i) {
dir = ubidi_getBaseDirection(testCases[i].s, testCases[i].length );
log_verbose("Testing case %d\tReceived dir %d\n", i, dir);
if (dir != expectedDir[i])
@@ -2129,7 +2133,7 @@ testMultipleParagraphs(void) {
*/
pBidi = ubidi_open();
errorCode = U_ZERO_ERROR;
- ubidi_setPara(pBidi, multiparaTestString, LENGTHOF(multiparaTestString),
+ ubidi_setPara(pBidi, multiparaTestString, UPRV_LENGTHOF(multiparaTestString),
UBIDI_DEFAULT_LTR, NULL, &errorCode);
if (U_FAILURE(errorCode)) {
log_err("ubidi_setPara failed for multiparaTestString\n");
@@ -2142,7 +2146,7 @@ testMultipleParagraphs(void) {
ubidi_close(pBidi);
return;
}
- for (i = 0; i < LENGTHOF(multiparaTestString); i++) {
+ for (i = 0; i < UPRV_LENGTHOF(multiparaTestString); i++) {
if (gotLevels[i] != multiparaTestLevels[i]) {
log_err("Error on level for multiparaTestString at index %d, "
"expected=%d, actual=%d\n",
@@ -2158,7 +2162,7 @@ testMultipleParagraphs(void) {
static int countRoundtrips=0, countNonRoundtrips=0;
-#define STRING_TEST_CASE(s) { (s), LENGTHOF(s) }
+#define STRING_TEST_CASE(s) { (s), UPRV_LENGTHOF(s) }
static void
testInverse(void) {
@@ -2191,15 +2195,15 @@ testInverse(void) {
return;
}
- log_verbose("inverse Bidi: testInverse(L) with %u test cases ---\n", LENGTHOF(testCases));
- for(i=0; i<LENGTHOF(testCases); ++i) {
+ log_verbose("inverse Bidi: testInverse(L) with %u test cases ---\n", UPRV_LENGTHOF(testCases));
+ for(i=0; i<UPRV_LENGTHOF(testCases); ++i) {
log_verbose("Testing case %d\n", i);
errorCode=U_ZERO_ERROR;
_testInverseBidi(pBiDi, testCases[i].s, testCases[i].length, 0, &errorCode);
}
- log_verbose("inverse Bidi: testInverse(R) with %u test cases ---\n", LENGTHOF(testCases));
- for(i=0; i<LENGTHOF(testCases); ++i) {
+ log_verbose("inverse Bidi: testInverse(R) with %u test cases ---\n", UPRV_LENGTHOF(testCases));
+ for(i=0; i<UPRV_LENGTHOF(testCases); ++i) {
log_verbose("Testing case %d\n", i);
errorCode=U_ZERO_ERROR;
_testInverseBidi(pBiDi, testCases[i].s, testCases[i].length, 1, &errorCode);
@@ -2276,7 +2280,7 @@ _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
if (src != ubidi_getText(pBiDi)) {
log_err("Wrong value returned by ubidi_getText\n");
}
- logicalLength=ubidi_writeReordered(pBiDi, logicalDest, LENGTHOF(logicalDest),
+ logicalLength=ubidi_writeReordered(pBiDi, logicalDest, UPRV_LENGTHOF(logicalDest),
UBIDI_DO_MIRRORING|UBIDI_INSERT_LRM_FOR_NUMERIC, pErrorCode);
log_verbose(" v ");
printUnicode(src, srcLength, ubidi_getLevels(pBiDi, pErrorCode));
@@ -2288,13 +2292,13 @@ _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
log_err("Error while doing ubidi_setInverse(FALSE)\n");
}
ubidi_setPara(pBiDi, logicalDest, logicalLength, 0, NULL, pErrorCode);
- visualLength=ubidi_writeReordered(pBiDi, visualDest, LENGTHOF(visualDest),
+ visualLength=ubidi_writeReordered(pBiDi, visualDest, UPRV_LENGTHOF(visualDest),
UBIDI_DO_MIRRORING|UBIDI_REMOVE_BIDI_CONTROLS, pErrorCode);
} else {
log_verbose("inverse Bidi: testInverse(R)\n");
/* reverse visual from RTL to LTR */
- ltrLength=ubidi_writeReverse(src, srcLength, visualLTR, LENGTHOF(visualLTR), 0, pErrorCode);
+ ltrLength=ubidi_writeReverse(src, srcLength, visualLTR, UPRV_LENGTHOF(visualLTR), 0, pErrorCode);
log_verbose(" vr");
printUnicode(src, srcLength, NULL);
log_verbose("\n");
@@ -2302,7 +2306,7 @@ _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
/* convert visual RTL to logical */
ubidi_setInverse(pBiDi, TRUE);
ubidi_setPara(pBiDi, visualLTR, ltrLength, 0, NULL, pErrorCode);
- logicalLength=ubidi_writeReordered(pBiDi, logicalDest, LENGTHOF(logicalDest),
+ logicalLength=ubidi_writeReordered(pBiDi, logicalDest, UPRV_LENGTHOF(logicalDest),
UBIDI_DO_MIRRORING|UBIDI_INSERT_LRM_FOR_NUMERIC, pErrorCode);
log_verbose(" vl");
printUnicode(visualLTR, ltrLength, ubidi_getLevels(pBiDi, pErrorCode));
@@ -2311,7 +2315,7 @@ _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
/* convert back to visual RTL */
ubidi_setInverse(pBiDi, FALSE);
ubidi_setPara(pBiDi, logicalDest, logicalLength, 0, NULL, pErrorCode);
- visualLength=ubidi_writeReordered(pBiDi, visualDest, LENGTHOF(visualDest),
+ visualLength=ubidi_writeReordered(pBiDi, visualDest, UPRV_LENGTHOF(visualDest),
UBIDI_DO_MIRRORING|UBIDI_REMOVE_BIDI_CONTROLS|UBIDI_OUTPUT_REVERSE, pErrorCode);
}
log_verbose(" l ");
@@ -2352,25 +2356,25 @@ _testWriteReverse(void) {
/* test ubidi_writeReverse() with "interesting" options */
errorCode=U_ZERO_ERROR;
- length=ubidi_writeReverse(forward, LENGTHOF(forward),
- reverse, LENGTHOF(reverse),
+ length=ubidi_writeReverse(forward, UPRV_LENGTHOF(forward),
+ reverse, UPRV_LENGTHOF(reverse),
UBIDI_KEEP_BASE_COMBINING,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(reverseKeepCombining) || memcmp(reverse, reverseKeepCombining, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(reverseKeepCombining) || memcmp(reverse, reverseKeepCombining, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in ubidi_writeReverse(UBIDI_KEEP_BASE_COMBINING): length=%d (should be %d), error code %s\n",
- length, LENGTHOF(reverseKeepCombining), u_errorName(errorCode));
+ length, UPRV_LENGTHOF(reverseKeepCombining), u_errorName(errorCode));
}
- memset(reverse, 0xa5, LENGTHOF(reverse)*U_SIZEOF_UCHAR);
+ memset(reverse, 0xa5, UPRV_LENGTHOF(reverse)*U_SIZEOF_UCHAR);
errorCode=U_ZERO_ERROR;
- length=ubidi_writeReverse(forward, LENGTHOF(forward),
- reverse, LENGTHOF(reverse),
+ length=ubidi_writeReverse(forward, UPRV_LENGTHOF(forward),
+ reverse, UPRV_LENGTHOF(reverse),
UBIDI_REMOVE_BIDI_CONTROLS|UBIDI_DO_MIRRORING|UBIDI_KEEP_BASE_COMBINING,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(reverseRemoveControlsKeepCombiningDoMirror) || memcmp(reverse, reverseRemoveControlsKeepCombiningDoMirror, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(reverseRemoveControlsKeepCombiningDoMirror) || memcmp(reverse, reverseRemoveControlsKeepCombiningDoMirror, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in ubidi_writeReverse(UBIDI_REMOVE_BIDI_CONTROLS|UBIDI_DO_MIRRORING|UBIDI_KEEP_BASE_COMBINING):\n"
" length=%d (should be %d), error code %s\n",
- length, LENGTHOF(reverseRemoveControlsKeepCombiningDoMirror), u_errorName(errorCode));
+ length, UPRV_LENGTHOF(reverseRemoveControlsKeepCombiningDoMirror), u_errorName(errorCode));
}
}
@@ -2379,16 +2383,16 @@ static void _testManyAddedPoints(void) {
UBiDi *bidi = ubidi_open();
UChar text[90], dest[MAXLEN], expected[120];
int destLen, i;
- for (i = 0; i < LENGTHOF(text); i+=3) {
+ for (i = 0; i < UPRV_LENGTHOF(text); i+=3) {
text[i] = 0x0061; /* 'a' */
text[i+1] = 0x05d0;
text[i+2] = 0x0033; /* '3' */
}
ubidi_setReorderingMode(bidi, UBIDI_REORDER_INVERSE_LIKE_DIRECT);
ubidi_setReorderingOptions(bidi, UBIDI_OPTION_INSERT_MARKS);
- ubidi_setPara(bidi, text, LENGTHOF(text), UBIDI_LTR, NULL, &errorCode);
+ ubidi_setPara(bidi, text, UPRV_LENGTHOF(text), UBIDI_LTR, NULL, &errorCode);
destLen = ubidi_writeReordered(bidi, dest, MAXLEN, 0, &errorCode);
- for (i = 0; i < LENGTHOF(expected); i+=4) {
+ for (i = 0; i < UPRV_LENGTHOF(expected); i+=4) {
expected[i] = 0x0061; /* 'a' */
expected[i+1] = 0x05d0;
expected[i+2] = 0x200e;
@@ -2397,7 +2401,7 @@ static void _testManyAddedPoints(void) {
if (memcmp(dest, expected, destLen * sizeof(UChar))) {
log_err("\nInvalid output with many added points, "
"expected '%s', got '%s'\n",
- aescstrdup(expected, LENGTHOF(expected)),
+ aescstrdup(expected, UPRV_LENGTHOF(expected)),
aescstrdup(dest, destLen));
}
ubidi_close(bidi);
@@ -2410,7 +2414,7 @@ static void _testMisc(void) {
int destLen;
ubidi_setInverse(bidi, TRUE);
src[0] = src[1] = src[2] = 0x0020;
- ubidi_setPara(bidi, src, LENGTHOF(src), UBIDI_RTL, NULL, &errorCode);
+ ubidi_setPara(bidi, src, UPRV_LENGTHOF(src), UBIDI_RTL, NULL, &errorCode);
destLen = ubidi_writeReordered(bidi, dest, MAXLEN,
UBIDI_OUTPUT_REVERSE | UBIDI_INSERT_LRM_FOR_NUMERIC,
&errorCode);
@@ -2418,7 +2422,7 @@ static void _testMisc(void) {
if (memcmp(dest, expected, destLen * sizeof(UChar))) {
log_err("\nInvalid output with RLM at both sides, "
"expected '%s', got '%s'\n",
- aescstrdup(expected, LENGTHOF(expected)),
+ aescstrdup(expected, UPRV_LENGTHOF(expected)),
aescstrdup(dest, destLen));
}
ubidi_close(bidi);
@@ -2460,18 +2464,18 @@ doArabicShapingTest(void) {
/* european->arabic */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, en2an, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, en2an, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(en2an)\n");
}
/* arabic->european */
errorCode=U_ZERO_ERROR;
length=u_shapeArabic(source, -1,
- dest, LENGTHOF(dest),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_AN2EN|U_SHAPE_DIGIT_TYPE_AN_EXTENDED,
&errorCode);
if(U_FAILURE(errorCode) || length!=u_strlen(source) || memcmp(dest, an2en, length*U_SIZEOF_UCHAR)!=0) {
@@ -2480,78 +2484,78 @@ doArabicShapingTest(void) {
/* european->arabic with context, logical order, initial state not AL */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_ALEN2AN_INIT_LR|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, logical_alen2an_init_lr, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, logical_alen2an_init_lr, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(logical_alen2an_init_lr)\n");
}
/* european->arabic with context, logical order, initial state AL */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_ALEN2AN_INIT_AL|U_SHAPE_DIGIT_TYPE_AN_EXTENDED,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, logical_alen2an_init_al, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, logical_alen2an_init_al, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(logical_alen2an_init_al)\n");
}
/* european->arabic with context, reverse order, initial state not AL */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_ALEN2AN_INIT_LR|U_SHAPE_DIGIT_TYPE_AN|U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, reverse_alen2an_init_lr, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, reverse_alen2an_init_lr, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(reverse_alen2an_init_lr)\n");
}
/* european->arabic with context, reverse order, initial state AL */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_ALEN2AN_INIT_AL|U_SHAPE_DIGIT_TYPE_AN_EXTENDED|U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, reverse_alen2an_init_al, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, reverse_alen2an_init_al, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(reverse_alen2an_init_al)\n");
}
/* test noop */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
0,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(source) || memcmp(dest, source, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(source) || memcmp(dest, source, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(noop)\n");
}
errorCode=U_ZERO_ERROR;
length=u_shapeArabic(source, 0,
- dest, LENGTHOF(dest),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(U_FAILURE(errorCode) || length!=0) {
- log_err("failure in u_shapeArabic(en2an, sourceLength=0), returned %d/%s\n", u_errorName(errorCode), LENGTHOF(source));
+ log_err("failure in u_shapeArabic(en2an, sourceLength=0), returned %d/%s\n", u_errorName(errorCode), UPRV_LENGTHOF(source));
}
/* preflight digit shaping */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
NULL, 0,
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
- if(errorCode!=U_BUFFER_OVERFLOW_ERROR || length!=LENGTHOF(source)) {
+ if(errorCode!=U_BUFFER_OVERFLOW_ERROR || length!=UPRV_LENGTHOF(source)) {
log_err("failure in u_shapeArabic(en2an preflighting), returned %d/%s instead of %d/U_BUFFER_OVERFLOW_ERROR\n",
- length, u_errorName(errorCode), LENGTHOF(source));
+ length, u_errorName(errorCode), UPRV_LENGTHOF(source));
}
/* test illegal arguments */
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(NULL, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(NULL, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2560,7 +2564,7 @@ doArabicShapingTest(void) {
errorCode=U_ZERO_ERROR;
length=u_shapeArabic(source, -2,
- dest, LENGTHOF(dest),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2568,8 +2572,8 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- NULL, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ NULL, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2577,7 +2581,7 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
dest, -1,
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
@@ -2586,8 +2590,8 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_RESERVED|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2595,8 +2599,8 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_RESERVED,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2604,8 +2608,8 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- (UChar *)(source+2), LENGTHOF(dest), /* overlap source and destination */
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ (UChar *)(source+2), UPRV_LENGTHOF(dest), /* overlap source and destination */
U_SHAPE_DIGITS_EN2AN|U_SHAPE_DIGIT_TYPE_AN,
&errorCode);
if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR) {
@@ -2613,11 +2617,11 @@ doArabicShapingTest(void) {
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(lamalef, LENGTHOF(lamalef),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(lamalef, UPRV_LENGTHOF(lamalef),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_UNSHAPE | U_SHAPE_LENGTH_GROW_SHRINK | U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length == LENGTHOF(lamalef)) {
+ if(U_FAILURE(errorCode) || length == UPRV_LENGTHOF(lamalef)) {
log_err("failure in u_shapeArabic(U_SHAPE_LETTERS_UNSHAPE | U_SHAPE_LENGTH_GROW_SHRINK | U_SHAPE_TEXT_DIRECTION_VISUAL_LTR)\n");
log_err("returned %s instead of U_ZERO_ERROR or returned length %d instead of 3\n", u_errorName(errorCode), length);
}
@@ -2677,44 +2681,44 @@ doLamAlefSpecialVLTRArabicShapingTest(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_LENGTH_FIXED_SPACES_NEAR|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_near) || memcmp(dest, shape_near, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_near) || memcmp(dest, shape_near, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_near)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_LENGTH_FIXED_SPACES_AT_END|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_at_end) || memcmp(dest, shape_at_end, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_at_end) || memcmp(dest, shape_at_end, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_at_end)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_at_begin) || memcmp(dest, shape_at_begin, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_at_begin) || memcmp(dest, shape_at_begin, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_at_begin)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_LENGTH_GROW_SHRINK|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
@@ -2727,44 +2731,44 @@ doLamAlefSpecialVLTRArabicShapingTest(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_LENGTH_FIXED_SPACES_NEAR|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_excepttashkeel_near) || memcmp(dest, shape_excepttashkeel_near, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_excepttashkeel_near) || memcmp(dest, shape_excepttashkeel_near, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_excepttashkeel_near)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_LENGTH_FIXED_SPACES_AT_END|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_excepttashkeel_at_end) || memcmp(dest,shape_excepttashkeel_at_end , length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_excepttashkeel_at_end) || memcmp(dest,shape_excepttashkeel_at_end , length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_excepttashkeel_at_end)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_excepttashkeel_at_begin) || memcmp(dest, shape_excepttashkeel_at_begin, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_excepttashkeel_at_begin) || memcmp(dest, shape_excepttashkeel_at_begin, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(LAMALEF shape_excepttashkeel_at_begin)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_LENGTH_GROW_SHRINK|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
@@ -2803,25 +2807,25 @@ doTashkeelSpecialVLTRArabicShapingTest(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_LENGTH_FIXED_SPACES_NEAR|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_near) || memcmp(dest, shape_near, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_near) || memcmp(dest, shape_near, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(TASHKEEL shape_near)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_LENGTH_FIXED_SPACES_NEAR|
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(shape_excepttashkeel_near) || memcmp(dest, shape_excepttashkeel_near, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(shape_excepttashkeel_near) || memcmp(dest, shape_excepttashkeel_near, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(TASHKEEL shape_excepttashkeel_near)\n");
}
}
@@ -2857,44 +2861,44 @@ doLOGICALArabicDeShapingTest(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_UNSHAPE|U_SHAPE_LENGTH_FIXED_SPACES_NEAR|
U_SHAPE_TEXT_DIRECTION_LOGICAL,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(unshape_near) || memcmp(dest, unshape_near, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(unshape_near) || memcmp(dest, unshape_near, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(unshape_near)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_UNSHAPE|U_SHAPE_LENGTH_FIXED_SPACES_AT_END|
U_SHAPE_TEXT_DIRECTION_LOGICAL,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(unshape_at_end) || memcmp(dest, unshape_at_end, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(unshape_at_end) || memcmp(dest, unshape_at_end, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(unshape_at_end)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_UNSHAPE|U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING|
U_SHAPE_TEXT_DIRECTION_LOGICAL,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(unshape_at_begin) || memcmp(dest, unshape_at_begin, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(unshape_at_begin) || memcmp(dest, unshape_at_begin, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(unshape_at_begin)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(source, LENGTHOF(source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(source, UPRV_LENGTHOF(source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_UNSHAPE|U_SHAPE_LENGTH_GROW_SHRINK|
U_SHAPE_TEXT_DIRECTION_LOGICAL,
&errorCode);
@@ -2918,13 +2922,13 @@ doTailTest(void) {
log_verbose("Trying old tail\n");
status = U_ZERO_ERROR;
- length = u_shapeArabic(src, -1, dst, LENGTHOF(dst),
+ length = u_shapeArabic(src, -1, dst, UPRV_LENGTHOF(dst),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_SEEN_TWOCELL_NEAR, &status);
if(U_FAILURE(status)) {
log_err("Fail: status %s\n", u_errorName(status));
} else if(length!=2) {
log_err("Fail: len %d expected 3\n", length);
- } else if(u_strncmp(dst,dst_old,LENGTHOF(dst))) {
+ } else if(u_strncmp(dst,dst_old,UPRV_LENGTHOF(dst))) {
log_err("Fail: got U+%04X U+%04X expected U+%04X U+%04X\n",
dst[0],dst[1],dst_old[0],dst_old[1]);
} else {
@@ -2935,13 +2939,13 @@ doTailTest(void) {
log_verbose("Trying new tail\n");
status = U_ZERO_ERROR;
- length = u_shapeArabic(src, -1, dst, LENGTHOF(dst),
+ length = u_shapeArabic(src, -1, dst, UPRV_LENGTHOF(dst),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_SEEN_TWOCELL_NEAR|U_SHAPE_TAIL_NEW_UNICODE, &status);
if(U_FAILURE(status)) {
log_err("Fail: status %s\n", u_errorName(status));
} else if(length!=2) {
log_err("Fail: len %d expected 3\n", length);
- } else if(u_strncmp(dst,dst_new,LENGTHOF(dst))) {
+ } else if(u_strncmp(dst,dst_new,UPRV_LENGTHOF(dst))) {
log_err("Fail: got U+%04X U+%04X expected U+%04X U+%04X\n",
dst[0],dst[1],dst_new[0],dst_new[1]);
} else {
@@ -2979,48 +2983,48 @@ doArabicShapingTestForBug5421(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(persian_letters_source, LENGTHOF(persian_letters_source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(persian_letters_source, UPRV_LENGTHOF(persian_letters_source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_LETTERS_SHAPE|U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(persian_letters) || memcmp(dest, persian_letters, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(persian_letters) || memcmp(dest, persian_letters, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(persian_letters)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(tashkeel_aggregation_source, LENGTHOF(tashkeel_aggregation_source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(tashkeel_aggregation_source, UPRV_LENGTHOF(tashkeel_aggregation_source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_AGGREGATE_TASHKEEL|U_SHAPE_PRESERVE_PRESENTATION|
U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED|U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(tashkeel_aggregation) || memcmp(dest, tashkeel_aggregation, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(tashkeel_aggregation) || memcmp(dest, tashkeel_aggregation, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(tashkeel_aggregation)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(untouched_presentation_source, LENGTHOF(untouched_presentation_source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(untouched_presentation_source, UPRV_LENGTHOF(untouched_presentation_source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_PRESERVE_PRESENTATION|
U_SHAPE_LETTERS_SHAPE|U_SHAPE_TEXT_DIRECTION_VISUAL_LTR,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(untouched_presentation) || memcmp(dest, untouched_presentation, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(untouched_presentation) || memcmp(dest, untouched_presentation, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(untouched_presentation)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(untouched_presentation_r_source, LENGTHOF(untouched_presentation_r_source),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(untouched_presentation_r_source, UPRV_LENGTHOF(untouched_presentation_r_source),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_PRESERVE_PRESENTATION|
U_SHAPE_LETTERS_SHAPE|U_SHAPE_TEXT_DIRECTION_LOGICAL,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(untouched_presentation_r) || memcmp(dest, untouched_presentation_r, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(untouched_presentation_r) || memcmp(dest, untouched_presentation_r, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(untouched_presentation_r)\n");
}
}
@@ -3068,89 +3072,89 @@ doArabicShapingTestForBug8703(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source1, LENGTHOF(letters_source1),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source1, UPRV_LENGTHOF(letters_source1),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_BEGIN | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest1) || memcmp(dest, letters_dest1, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest1) || memcmp(dest, letters_dest1, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source1)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source2, LENGTHOF(letters_source2),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source2, UPRV_LENGTHOF(letters_source2),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_END | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest2) || memcmp(dest, letters_dest2, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest2) || memcmp(dest, letters_dest2, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source2)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source3, LENGTHOF(letters_source3),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source3, UPRV_LENGTHOF(letters_source3),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_RESIZE | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest3) || memcmp(dest, letters_dest3, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest3) || memcmp(dest, letters_dest3, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source3)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source4, LENGTHOF(letters_source4),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source4, UPRV_LENGTHOF(letters_source4),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest4) || memcmp(dest, letters_dest4, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest4) || memcmp(dest, letters_dest4, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source4)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source5, LENGTHOF(letters_source5),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source5, UPRV_LENGTHOF(letters_source5),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_BEGIN | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest5) || memcmp(dest, letters_dest5, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest5) || memcmp(dest, letters_dest5, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source5)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source6, LENGTHOF(letters_source6),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source6, UPRV_LENGTHOF(letters_source6),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_END | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest6) || memcmp(dest, letters_dest6, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest6) || memcmp(dest, letters_dest6, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source6)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source7, LENGTHOF(letters_source7),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source7, UPRV_LENGTHOF(letters_source7),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_RESIZE | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest7) || memcmp(dest, letters_dest7, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest7) || memcmp(dest, letters_dest7, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source7)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source8, LENGTHOF(letters_source8),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source8, UPRV_LENGTHOF(letters_source8),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest8) || memcmp(dest, letters_dest8, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest8) || memcmp(dest, letters_dest8, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source8)\n");
}
}
@@ -3250,72 +3254,310 @@ doArabicShapingTestForBug9024(void) {
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source1, LENGTHOF(letters_source1),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source1, UPRV_LENGTHOF(letters_source1),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_BEGIN | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest1) || memcmp(dest, letters_dest1, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest1) || memcmp(dest, letters_dest1, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source1)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source2, LENGTHOF(letters_source2),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source2, UPRV_LENGTHOF(letters_source2),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_END | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest2) || memcmp(dest, letters_dest2, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest2) || memcmp(dest, letters_dest2, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source2)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source3, LENGTHOF(letters_source3),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source3, UPRV_LENGTHOF(letters_source3),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_RESIZE | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest3) || memcmp(dest, letters_dest3, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest3) || memcmp(dest, letters_dest3, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source3)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source4, LENGTHOF(letters_source4),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source4, UPRV_LENGTHOF(letters_source4),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_RTL | U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest4) || memcmp(dest, letters_dest4, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest4) || memcmp(dest, letters_dest4, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source4)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source5, LENGTHOF(letters_source5),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source5, UPRV_LENGTHOF(letters_source5),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_BEGIN | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest5) || memcmp(dest, letters_dest5, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest5) || memcmp(dest, letters_dest5, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source5)\n");
}
errorCode=U_ZERO_ERROR;
- length=u_shapeArabic(letters_source6, LENGTHOF(letters_source6),
- dest, LENGTHOF(dest),
+ length=u_shapeArabic(letters_source6, UPRV_LENGTHOF(letters_source6),
+ dest, UPRV_LENGTHOF(dest),
U_SHAPE_TEXT_DIRECTION_VISUAL_LTR | U_SHAPE_TASHKEEL_END | U_SHAPE_LETTERS_SHAPE,
&errorCode);
- if(U_FAILURE(errorCode) || length!=LENGTHOF(letters_dest6) || memcmp(dest, letters_dest6, length*U_SIZEOF_UCHAR)!=0) {
+ if(U_FAILURE(errorCode) || length!=UPRV_LENGTHOF(letters_dest6) || memcmp(dest, letters_dest6, length*U_SIZEOF_UCHAR)!=0) {
log_err("failure in u_shapeArabic(letters_source6)\n");
}
}
+static void _testPresentationForms(const UChar* in) {
+ enum Forms { GENERIC, ISOLATED, FINAL, INITIAL, MEDIAL };
+ /* This character is used to check whether the in-character is rewritten correctly
+ and whether the surrounding characters are shaped correctly as well. */
+ UChar otherChar[] = {0x0628, 0xfe8f, 0xfe90, 0xfe91, 0xfe92};
+ UChar src[3];
+ UChar dst[3];
+ UErrorCode errorCode;
+ int32_t length;
+
+ /* Testing isolated shaping */
+ src[0] = in[GENERIC];
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 1,
+ dst, 1,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=1 || dst[0] != in[ISOLATED]) {
+ log_err("failure in u_shapeArabic(_testAllForms: shaping isolated): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 1,
+ src, 1,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=1 || src[0] != in[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testAllForms: unshaping isolated): %x\n", in[GENERIC]);
+ }
+
+ /* Testing final shaping */
+ src[0] = otherChar[GENERIC];
+ src[1] = in[GENERIC];
+ if (in[FINAL] != 0) {
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 2,
+ dst, 2,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || dst[0] != otherChar[INITIAL] || dst[1] != in[FINAL]) {
+ log_err("failure in u_shapeArabic(_testAllForms: shaping final): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 2,
+ src, 2,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || src[0] != otherChar[GENERIC] || src[1] != in[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testAllForms: unshaping final): %x\n", in[GENERIC]);
+ }
+ } else {
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 2,
+ dst, 2,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || dst[0] != otherChar[ISOLATED] || dst[1] != in[ISOLATED]) {
+ log_err("failure in u_shapeArabic(_testAllForms: shaping final): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 2,
+ src, 2,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || src[0] != otherChar[GENERIC] || src[1] != in[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testAllForms: unshaping final): %x\n", in[GENERIC]);
+ }
+ }
+
+ /* Testing initial shaping */
+ src[0] = in[GENERIC];
+ src[1] = otherChar[GENERIC];
+ if (in[INITIAL] != 0) {
+ /* Testing characters that have an initial form */
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 2,
+ dst, 2,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || dst[0] != in[INITIAL] || dst[1] != otherChar[FINAL]) {
+ log_err("failure in u_shapeArabic(_testAllForms: shaping initial): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 2,
+ src, 2,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || src[0] != in[GENERIC] || src[1] != otherChar[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testAllForms: unshaping initial): %x\n", in[GENERIC]);
+ }
+ } else {
+ /* Testing characters that do not have an initial form */
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 2,
+ dst, 2,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || dst[0] != in[ISOLATED] || dst[1] != otherChar[ISOLATED]) {
+ log_err("failure in u_shapeArabic(_testTwoForms: shaping initial): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 2,
+ src, 2,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=2 || src[0] != in[GENERIC] || src[1] != otherChar[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testTwoForms: unshaping initial): %x\n", in[GENERIC]);
+ }
+ }
+
+ /* Testing medial shaping */
+ src[0] = otherChar[0];
+ src[1] = in[GENERIC];
+ src[2] = otherChar[0];
+ errorCode=U_ZERO_ERROR;
+ if (in[MEDIAL] != 0) {
+ /* Testing characters that have an medial form */
+ length=u_shapeArabic(src, 3,
+ dst, 3,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=3 || dst[0] != otherChar[INITIAL] || dst[1] != in[MEDIAL] || dst[2] != otherChar[FINAL]) {
+ log_err("failure in u_shapeArabic(_testAllForms: shaping medial): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 3,
+ src, 3,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=3 || src[0] != otherChar[GENERIC] || src[1] != in[GENERIC] || src[2] != otherChar[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testAllForms: unshaping medial): %x\n", in[GENERIC]);
+ }
+ } else {
+ /* Testing characters that do not have an medial form */
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(src, 3,
+ dst, 3,
+ U_SHAPE_LETTERS_SHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=3 || dst[0] != otherChar[INITIAL] || dst[1] != in[FINAL] || dst[2] != otherChar[ISOLATED]) {
+ log_err("failure in u_shapeArabic(_testTwoForms: shaping medial): %x\n", in[GENERIC]);
+ }
+ errorCode=U_ZERO_ERROR;
+ length=u_shapeArabic(dst, 3,
+ src, 3,
+ U_SHAPE_LETTERS_UNSHAPE,
+ &errorCode);
+ if(U_FAILURE(errorCode) || length!=3 || src[0] != otherChar[GENERIC] || src[1] != in[GENERIC] || src[2] != otherChar[GENERIC]) {
+ log_err("failure in u_shapeArabic(_testTwoForms: unshaping medial): %x\n", in[GENERIC]);
+ }
+ }
+}
+
+static void
+doArabicShapingTestForNewCharacters(void) {
+ static const UChar letterForms[][5]={
+ { 0x0679, 0xFB66, 0xFB67, 0xFB68, 0xFB69 }, /* TTEH */
+ { 0x067A, 0xFB5E, 0xFB5F, 0xFB60, 0xFB61 }, /* TTEHEH */
+ { 0x067B, 0xFB52, 0xFB53, 0xFB54, 0xFB55 }, /* BEEH */
+ { 0x0688, 0xFB88, 0xFB89, 0, 0 }, /* DDAL */
+ { 0x068C, 0xFB84, 0xFB85, 0, 0 }, /* DAHAL */
+ { 0x068D, 0xFB82, 0xFB83, 0, 0 }, /* DDAHAL */
+ { 0x068E, 0xFB86, 0xFB87, 0, 0 }, /* DUL */
+ { 0x0691, 0xFB8C, 0xFB8D, 0, 0 }, /* RREH */
+ { 0x06BA, 0xFB9E, 0xFB9F, 0, 0 }, /* NOON GHUNNA */
+ { 0x06BB, 0xFBA0, 0xFBA1, 0xFBA2, 0xFBA3 }, /* RNOON */
+ { 0x06BE, 0xFBAA, 0xFBAB, 0xFBAC, 0xFBAD }, /* HEH DOACHASHMEE */
+ { 0x06C0, 0xFBA4, 0xFBA5, 0, 0 }, /* HEH WITH YEH ABOVE */
+ { 0x06C1, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBA9 }, /* HEH GOAL */
+ { 0x06C5, 0xFBE0, 0xFBE1, 0, 0 }, /* KIRGIHIZ OE */
+ { 0x06C6, 0xFBD9, 0xFBDA, 0, 0 }, /* OE */
+ { 0x06C7, 0xFBD7, 0xFBD8, 0, 0 }, /* U */
+ { 0x06C8, 0xFBDB, 0xFBDC, 0, 0 }, /* YU */
+ { 0x06C9, 0xFBE2, 0xFBE3, 0, 0 }, /* KIRGIZ YU */
+ { 0x06CB, 0xFBDE, 0xFBDF, 0, 0}, /* VE */
+ { 0x06D0, 0xFBE4, 0xFBE5, 0xFBE6, 0xFBE7 }, /* E */
+ { 0x06D2, 0xFBAE, 0xFBAF, 0, 0 }, /* YEH BARREE */
+ { 0x06D3, 0xFBB0, 0xFBB1, 0, 0 }, /* YEH BARREE WITH HAMZA ABOVE */
+ { 0x0622, 0xFE81, 0xFE82, 0, 0, }, /* ALEF WITH MADDA ABOVE */
+ { 0x0623, 0xFE83, 0xFE84, 0, 0, }, /* ALEF WITH HAMZA ABOVE */
+ { 0x0624, 0xFE85, 0xFE86, 0, 0, }, /* WAW WITH HAMZA ABOVE */
+ { 0x0625, 0xFE87, 0xFE88, 0, 0, }, /* ALEF WITH HAMZA BELOW */
+ { 0x0626, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, }, /* YEH WITH HAMZA ABOVE */
+ { 0x0627, 0xFE8D, 0xFE8E, 0, 0, }, /* ALEF */
+ { 0x0628, 0xFE8F, 0xFE90, 0xFE91, 0xFE92, }, /* BEH */
+ { 0x0629, 0xFE93, 0xFE94, 0, 0, }, /* TEH MARBUTA */
+ { 0x062A, 0xFE95, 0xFE96, 0xFE97, 0xFE98, }, /* TEH */
+ { 0x062B, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, }, /* THEH */
+ { 0x062C, 0xFE9D, 0xFE9E, 0xFE9F, 0xFEA0, }, /* JEEM */
+ { 0x062D, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, }, /* HAH */
+ { 0x062E, 0xFEA5, 0xFEA6, 0xFEA7, 0xFEA8, }, /* KHAH */
+ { 0x062F, 0xFEA9, 0xFEAA, 0, 0, }, /* DAL */
+ { 0x0630, 0xFEAB, 0xFEAC, 0, 0, }, /* THAL */
+ { 0x0631, 0xFEAD, 0xFEAE, 0, 0, }, /* REH */
+ { 0x0632, 0xFEAF, 0xFEB0, 0, 0, }, /* ZAIN */
+ { 0x0633, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, }, /* SEEN */
+ { 0x0634, 0xFEB5, 0xFEB6, 0xFEB7, 0xFEB8, }, /* SHEEN */
+ { 0x0635, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, }, /* SAD */
+ { 0x0636, 0xFEBD, 0xFEBE, 0xFEBF, 0xFEC0, }, /* DAD */
+ { 0x0637, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, }, /* TAH */
+ { 0x0638, 0xFEC5, 0xFEC6, 0xFEC7, 0xFEC8, }, /* ZAH */
+ { 0x0639, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, }, /* AIN */
+ { 0x063A, 0xFECD, 0xFECE, 0xFECF, 0xFED0, }, /* GHAIN */
+ { 0x0641, 0xFED1, 0xFED2, 0xFED3, 0xFED4, }, /* FEH */
+ { 0x0642, 0xFED5, 0xFED6, 0xFED7, 0xFED8, }, /* QAF */
+ { 0x0643, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, }, /* KAF */
+ { 0x0644, 0xFEDD, 0xFEDE, 0xFEDF, 0xFEE0, }, /* LAM */
+ { 0x0645, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, }, /* MEEM */
+ { 0x0646, 0xFEE5, 0xFEE6, 0xFEE7, 0xFEE8, }, /* NOON */
+ { 0x0647, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, }, /* HEH */
+ { 0x0648, 0xFEED, 0xFEEE, 0, 0, }, /* WAW */
+ { 0x0649, 0xFEEF, 0xFEF0, 0, 0, }, /* ALEF MAKSURA */
+ { 0x064A, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, }, /* YEH */
+ { 0x064E, 0xFE76, 0, 0, 0xFE77, }, /* FATHA */
+ { 0x064F, 0xFE78, 0, 0, 0xFE79, }, /* DAMMA */
+ { 0x0650, 0xFE7A, 0, 0, 0xFE7B, }, /* KASRA */
+ { 0x0651, 0xFE7C, 0, 0, 0xFE7D, }, /* SHADDA */
+ { 0x0652, 0xFE7E, 0, 0, 0xFE7F, }, /* SUKUN */
+ { 0x0679, 0xFB66, 0xFB67, 0xFB68, 0xFB69, }, /* TTEH */
+ { 0x067E, 0xFB56, 0xFB57, 0xFB58, 0xFB59, }, /* PEH */
+ { 0x0686, 0xFB7A, 0xFB7B, 0xFB7C, 0xFB7D, }, /* TCHEH */
+ { 0x0688, 0xFB88, 0xFB89, 0, 0, }, /* DDAL */
+ { 0x0691, 0xFB8C, 0xFB8D, 0, 0, }, /* RREH */
+ { 0x0698, 0xFB8A, 0xFB8B, 0, 0, }, /* JEH */
+ { 0x06A9, 0xFB8E, 0xFB8F, 0xFB90, 0xFB91, }, /* KEHEH */
+ { 0x06AF, 0xFB92, 0xFB93, 0xFB94, 0xFB95, }, /* GAF */
+ { 0x06BA, 0xFB9E, 0xFB9F, 0, 0, }, /* NOON GHUNNA */
+ { 0x06BE, 0xFBAA, 0xFBAB, 0xFBAC, 0xFBAD, }, /* HEH DOACHASHMEE */
+ { 0x06C0, 0xFBA4, 0xFBA5, 0, 0, }, /* HEH WITH YEH ABOVE */
+ { 0x06C1, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBA9, }, /* HEH GOAL */
+ { 0x06CC, 0xFBFC, 0xFBFD, 0xFBFE, 0xFBFF, }, /* FARSI YEH */
+ { 0x06D2, 0xFBAE, 0xFBAF, 0, 0, }, /* YEH BARREE */
+ { 0x06D3, 0xFBB0, 0xFBB1, 0, 0, }}; /* YEH BARREE WITH HAMZA ABOVE */
+ int32_t i;
+ for (i = 0; i < UPRV_LENGTHOF(letterForms); ++i) {
+ _testPresentationForms(letterForms[i]);
+ }
+}
+
/* helpers ------------------------------------------------------------------ */
static void initCharFromDirProps(void) {
@@ -3428,10 +3670,10 @@ options[] = {
{ MAKE_ITEMS(0) }
};
-#define TC_COUNT LENGTHOF(textIn)
-#define MODES_COUNT LENGTHOF(modes)
-#define OPTIONS_COUNT LENGTHOF(options)
-#define LEVELS_COUNT LENGTHOF(paraLevels)
+#define TC_COUNT UPRV_LENGTHOF(textIn)
+#define MODES_COUNT UPRV_LENGTHOF(modes)
+#define OPTIONS_COUNT UPRV_LENGTHOF(options)
+#define LEVELS_COUNT UPRV_LENGTHOF(paraLevels)
static const char* const textIn[] = {
/* (0) 123 */
@@ -3956,7 +4198,7 @@ testReorderRunsOnly(void) {
for (option = 0; option < 2; option++) {
ubidi_setReorderingOptions(pBiDi, option==0 ? UBIDI_OPTION_REMOVE_CONTROLS
: UBIDI_OPTION_INSERT_MARKS);
- for (i = 0, nCases = LENGTHOF(testCases); i < nCases; i++) {
+ for (i = 0, nCases = UPRV_LENGTHOF(testCases); i < nCases; i++) {
srcLen = strlen(testCases[i].textIn);
pseudoToU16(srcLen, testCases[i].textIn, src);
for(j = 0; j < 2; j++) {
@@ -4195,7 +4437,7 @@ testStreaming(void) {
int32_t srcLen, processedLen, chunk, len, nPortions;
int i, j, levelIndex;
UBiDiLevel level;
- int nTests = LENGTHOF(testData), nLevels = LENGTHOF(paraLevels);
+ int nTests = UPRV_LENGTHOF(testData), nLevels = UPRV_LENGTHOF(paraLevels);
UBool mismatch, testOK = TRUE;
char processedLenStr[MAXPORTIONS * 5];
@@ -4285,7 +4527,7 @@ overrideBidiClass(const void *context, UChar32 c) {
DEF, DEF, DEF, DEF, DEF, DEF, DEF, DEF, /* 70-77 */
DEF, DEF, DEF, LRO, B, RLO, BN, DEF /* 78-7F */
};
- static const int nEntries = LENGTHOF(customClasses);
+ static const int nEntries = UPRV_LENGTHOF(customClasses);
const char *dummy = context; /* just to avoid a compiler warning */
dummy++;
@@ -4573,7 +4815,7 @@ static const contextCase contextData[] = {
/*24*/ {"x|G", ".-=", "", "=-.", UBIDI_DEFAULT_LTR},
/*25*/ {"x|G", ".-=|-+*", "", "=-.|-+*", UBIDI_DEFAULT_LTR},
};
-#define CONTEXT_COUNT LENGTHOF(contextData)
+#define CONTEXT_COUNT UPRV_LENGTHOF(contextData)
static void
testContext(void) {
@@ -4665,7 +4907,6 @@ testBracketOverflow(void) {
UErrorCode status = U_ZERO_ERROR;
UBiDi* bidi;
UChar src[100];
- UChar dest[100];
int32_t len;
bidi = ubidi_open();
« no previous file with comments | « source/test/cintltst/capitst.c ('k') | source/test/cintltst/ccaltst.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698