Lines Matching defs:pBiDi

37 static void doTests(UBiDi *pBiDi, UBiDi *pLine, UBool countRunsFirst);
41 static void doTest(UBiDi *pBiDi, int testNumber, const BiDiTestData *test,
44 static void _testReordering(UBiDi *pBiDi, int testNumber);
48 static void _testManyInverseBidi(UBiDi *pBiDi, UBiDiLevel direction);
50 static void _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
82 static const char* inverseBasic(UBiDi *pBiDi, const char *src, int32_t srcLen,
84 static UBool assertRoundTrip(UBiDi *pBiDi, int32_t tc, int32_t outIndex,
88 static UBool checkResultLength(UBiDi *pBiDi, const char *srcChars,
92 static UBool checkMaps(UBiDi *pBiDi, int32_t stringIndex, const char *src,
149 UBiDi *pBiDi, *pLine=NULL;
154 pBiDi=ubidi_openSized(MAXLEN, 0, &errorCode);
155 if(pBiDi!=NULL) {
158 doTests(pBiDi, pLine, FALSE);
159 doTests(pBiDi, pLine, TRUE);
171 if(pBiDi!=NULL) {
172 ubidi_close(pBiDi);
179 doTests(UBiDi *pBiDi, UBiDi *pLine, UBool countRunsFirst) {
190 ubidi_setPara(pBiDi, string, -1, paraLevel, NULL, &errorCode);
193 testNumber, paraLevel, ubidi_getDirection(pBiDi), paraLevel);
196 doTest(pBiDi, testNumber, tests+testNumber, 0, countRunsFirst);
198 ubidi_setLine(pBiDi, lineStart, tests[testNumber].lineLimit, pLine, &errorCode);
882 doTest(UBiDi *pBiDi, int testNumber, const BiDiTestData *test, int32_t lineStart, UBool countRunsFirst) {
886 int32_t i, len=ubidi_getLength(pBiDi), logicalIndex, runCount = 0;
893 runCount = ubidi_countRuns(pBiDi, &errorCode);
903 _testReordering(pBiDi, testNumber);
907 i, ubidi_getLevelAt(pBiDi, i), ubidi_getLevelAt(pBiDi, i), levelString,
909 ubidi_getVisualIndex(pBiDi, i, &errorCode));
917 log_verbose(" %d", ubidi_getLevelAt(pBiDi, i));
925 log_verbose(" %d", ubidi_getVisualIndex(pBiDi, i, &errorCode));
929 if(test->direction!=ubidi_getDirection(pBiDi)) {
930 log_err("ubidi_getDirection(tests[%d]): wrong direction %d\n", testNumber, ubidi_getDirection(pBiDi));
933 if(test->resultLevel!=ubidi_getParaLevel(pBiDi)) {
934 log_err("ubidi_getParaLevel(tests[%d]): wrong paragraph level %d\n", testNumber, ubidi_getParaLevel(pBiDi));
938 if(levels[i]!=ubidi_getLevelAt(pBiDi, i)) {
939 log_err("ubidi_getLevelAt(tests[%d], %d): wrong level %d, expected %d\n", testNumber, i, ubidi_getLevelAt(pBiDi, i), levels[i]);
945 logicalIndex=ubidi_getVisualIndex(pBiDi, i, &errorCode);
957 runCount=ubidi_countRuns(pBiDi, &errorCode);
965 level=ubidi_getLevelAt(pBiDi, logicalIndex);
966 ubidi_getLogicalRun(pBiDi, logicalIndex, &logicalIndex, &level2);
975 testNumber, ubidi_countRuns(pBiDi, &errorCode));
982 testNumber, ubidi_countRuns(pBiDi, &errorCode));
990 _testReordering(UBiDi *pBiDi, int testNumber) {
996 int32_t i, length=ubidi_getLength(pBiDi),
997 destLength=ubidi_getResultLength(pBiDi);
1006 ubidi_getLogicalMap(pBiDi, logicalMap1, &errorCode);
1012 ubidi_getVisualMap(pBiDi, visualMap1, &errorCode);
1023 levels=ubidi_getLevels(pBiDi, &errorCode);
1034 runCount=ubidi_countRuns(pBiDi, &errorCode);
1042 odd=(UBool)ubidi_getVisualRun(pBiDi, i, &logicalStart, &runLength);
1113 if(logicalMap1[i]!=ubidi_getVisualIndex(pBiDi, i, &errorCode)) {
1121 if(visualMap1[i]!=ubidi_getLogicalIndex(pBiDi, i, &errorCode)) {
2036 UBiDi *pBiDi;
2041 pBiDi=ubidi_open();
2042 if(pBiDi==NULL) {
2051 _testInverseBidi(pBiDi, testCases[i].s, testCases[i].length, 0, &errorCode);
2058 _testInverseBidi(pBiDi, testCases[i].s, testCases[i].length, 1, &errorCode);
2061 _testManyInverseBidi(pBiDi, 0);
2062 _testManyInverseBidi(pBiDi, 1);
2064 ubidi_close(pBiDi);
2089 _testManyInverseBidi(UBiDi *pBiDi, UBiDiLevel direction) {
2108 _testInverseBidi(pBiDi, text, 8, direction, &errorCode);
2115 _testInverseBidi(UBiDi *pBiDi, const UChar *src, int32_t srcLength,
2124 ubidi_setInverse(pBiDi, TRUE);
2125 if (!ubidi_isInverse(pBiDi)) {
2128 ubidi_setPara(pBiDi, src, srcLength, 0, NULL, pErrorCode);
2129 if (src != ubidi_getText(pBiDi)) {
2132 logicalLength=ubidi_writeReordered(pBiDi, logicalDest, LENGTHOF(logicalDest),
2135 printUnicode(src, srcLength, ubidi_getLevels(pBiDi, pErrorCode));
2139 ubidi_setInverse(pBiDi, FALSE);
2140 if (ubidi_isInverse(pBiDi)) {
2143 ubidi_setPara(pBiDi, logicalDest, logicalLength, 0, NULL, pErrorCode);
2144 visualLength=ubidi_writeReordered(pBiDi, visualDest, LENGTHOF(visualDest),
2156 ubidi_setInverse(pBiDi, TRUE);
2157 ubidi_setPara(pBiDi, visualLTR, ltrLength, 0, NULL, pErrorCode);
2158 logicalLength=ubidi_writeReordered(pBiDi, logicalDest, LENGTHOF(logicalDest),
2161 printUnicode(visualLTR, ltrLength, ubidi_getLevels(pBiDi, pErrorCode));
2165 ubidi_setInverse(pBiDi, FALSE);
2166 ubidi_setPara(pBiDi, logicalDest, logicalLength, 0, NULL, pErrorCode);
2167 visualLength=ubidi_writeReordered(pBiDi, visualDest, LENGTHOF(visualDest),
2171 printUnicode(logicalDest, logicalLength, ubidi_getLevels(pBiDi, pErrorCode));
2900 const char* mode, const char* option, UBiDi* pBiDi) {
2908 "Levels:", formatLevels(pBiDi, formatChars),
2909 "Reordering mode:", ubidi_getReorderingMode(pBiDi), mode,
2910 "Paragraph level:", ubidi_getParaLevel(pBiDi),
2911 "Reordering option:", ubidi_getReorderingOptions(pBiDi), option);
2919 UBiDi* pBiDi = ubidi_open();
2920 if (pBiDi == NULL) {
2923 return pBiDi;
3215 assertRoundTrip(UBiDi *pBiDi, int32_t tc, int32_t outIndex, const char *srcChars,
3315 ubidi_setReorderingMode(pBiDi, mode); \
3342 ubidi_setReorderingOptions(pBiDi, UBIDI_OPTION_REMOVE_CONTROLS);
3344 ubidi_setPara(pBiDi, dest, destLen, level, NULL, &rc);
3347 destLen2 = ubidi_writeReordered(pBiDi, dest2, MAXLEN, UBIDI_DO_MIRRORING,
3353 checkWhatYouCan(pBiDi, destChars3, destChars2);
3379 if (!checkResultLength(pBiDi, destChars, destChars2, destLen2,
3383 if (outIndex > -1 && !checkMaps(pBiDi, outIndex, srcChars, destChars,
3392 checkResultLength(UBiDi *pBiDi, const char *srcChars, const char *destChars,
3399 actualLen = ubidi_getResultLength(pBiDi);
3456 UBiDi *pBiDi = getBiDiObject();
3467 ubidi_close(pBiDi); /* in case this one was allocated */
3470 ubidi_setReorderingMode(pBiDi, UBIDI_REORDER_RUNS_ONLY);
3474 ubidi_setReorderingOptions(pBiDi, option==0 ? UBIDI_OPTION_REMOVE_CONTROLS
3483 ubidi_setPara(pBiDi, src, srcLen, level, NULL, &rc);
3486 destLen = ubidi_writeReordered(pBiDi, dest, MAXLEN, UBIDI_DO_MIRRORING, &rc);
3489 checkWhatYouCan(pBiDi, testCases[i].textIn, destChars);
3493 pBiDi);
3515 pBiDi);
3521 ubidi_setPara(pBiDi, src, 0, UBIDI_LTR, NULL, &rc);
3523 paras = ubidi_countParagraphs(pBiDi);
3528 ubidi_close(pBiDi);
3539 UBiDi *pBiDi = NULL, *pBiDi2 = NULL, *pBiDi3 = NULL;
3550 pBiDi = getBiDiObject();
3554 ubidi_close(pBiDi); /* in case this one was allocated */
3568 ubidi_setReorderingMode(pBiDi, modeValue);
3569 modeBack = ubidi_getReorderingMode(pBiDi);
3577 ubidi_setReorderingOptions(pBiDi, optionValue);
3578 optionBack = ubidi_getReorderingOptions(pBiDi);
3588 ubidi_setPara(pBiDi, src, srcLen, paraLevels[level], NULL, &rc);
3592 destLen = ubidi_writeReordered(pBiDi, dest, MAXLEN,
3598 checkWhatYouCan(pBiDi, srcChars, destChars);
3613 pBiDi)) {
3622 else if (!checkResultLength(pBiDi, srcChars, destChars,
3628 else if (index > -1 && !checkMaps(pBiDi, index, srcChars,
3643 ubidi_close(pBiDi);
3648 static const char* inverseBasic(UBiDi *pBiDi, const char *srcChars, int32_t srcLen,
3654 if (pBiDi == NULL || src == NULL) {
3657 ubidi_setReorderingOptions(pBiDi, option);
3659 ubidi_setPara(pBiDi, src, srcLen, level, NULL, &rc);
3663 destLen = ubidi_writeReordered(pBiDi, dest2, MAXLEN,
3668 checkWhatYouCan(pBiDi, srcChars, result);
3709 UBiDi *pBiDi = NULL;
3721 pBiDi = getBiDiObject();
3723 ubidi_orderParagraphsLTR(pBiDi, TRUE);
3736 ubidi_setReorderingOptions(pBiDi, UBIDI_OPTION_STREAMING);
3740 ubidi_setPara(pBiDi, pSrc, len, level, NULL, &rc);
3745 processedLen = ubidi_getProcessedLength(pBiDi);
3747 ubidi_setReorderingOptions(pBiDi, UBIDI_OPTION_DEFAULT);
3751 ubidi_setReorderingOptions(pBiDi, UBIDI_OPTION_STREAMING);
3772 ubidi_close(pBiDi);
3837 UBiDi *pBiDi = NULL;
3846 pBiDi = getBiDiObject();
3847 if(!pBiDi) {
3851 ubidi_getClassCallback(pBiDi, &oldFn, &oldContext);
3854 ubidi_setClassCallback(pBiDi, newFn, textSrc, &oldFn, &oldContext, &rc);
3856 ubidi_close(pBiDi);
3861 ubidi_getClassCallback(pBiDi, &oldFn, &oldContext);
3864 ubidi_setClassCallback(pBiDi, newFn, textSrc, &oldFn, &oldContext, &rc);
3866 ubidi_close(pBiDi);
3872 ubidi_setPara(pBiDi, src, srcLen, UBIDI_LTR, NULL, &rc);
3875 destLen = ubidi_writeReordered(pBiDi, dest, MAXLEN,
3889 ubidi_close(pBiDi);
3912 checkMaps(UBiDi *pBiDi, int32_t stringIndex, const char *src, const char *dest,
3931 ubidi_getLogicalMap(pBiDi, actualLogicalMap, &rc);
3935 srcLen = ubidi_getProcessedLength(pBiDi);
3953 level, ubidi_getParaLevel(pBiDi),
3954 mode, ubidi_getReorderingMode(pBiDi),
3955 option, ubidi_getReorderingOptions(pBiDi),
3960 resLen = ubidi_getResultLength(pBiDi);
3961 ubidi_getVisualMap(pBiDi, actualVisualMap, &rc);
3980 level, ubidi_getParaLevel(pBiDi),
3981 mode, ubidi_getReorderingMode(pBiDi),
3982 option, ubidi_getReorderingOptions(pBiDi),
3988 index = ubidi_getVisualIndex(pBiDi, i, &rc);
4009 level, ubidi_getParaLevel(pBiDi),
4010 mode, ubidi_getReorderingMode(pBiDi),
4011 option, ubidi_getReorderingOptions(pBiDi),
4017 index = ubidi_getLogicalIndex(pBiDi, i, &rc);
4038 level, ubidi_getParaLevel(pBiDi),
4039 mode, ubidi_getReorderingMode(pBiDi),
4040 option, ubidi_getReorderingOptions(pBiDi),