| Index: icu46/source/test/cintltst/cbididat.c
|
| ===================================================================
|
| --- icu46/source/test/cintltst/cbididat.c (revision 0)
|
| +++ icu46/source/test/cintltst/cbididat.c (revision 0)
|
| @@ -0,0 +1,434 @@
|
| +/********************************************************************
|
| + * COPYRIGHT:
|
| + * Copyright (c) 1997-2007, International Business Machines Corporation and
|
| + * others. All Rights Reserved.
|
| + ********************************************************************/
|
| +/* file name: cbididat.c
|
| +* encoding: US-ASCII
|
| +* tab size: 8 (not used)
|
| +* indentation:4
|
| +*
|
| +* created on: 1999sep22
|
| +* created by: Markus W. Scherer
|
| +*/
|
| +
|
| +#include "unicode/utypes.h"
|
| +#include "unicode/uchar.h"
|
| +#include "unicode/ubidi.h"
|
| +#include "cbiditst.h"
|
| +
|
| +const char * const
|
| +dirPropNames[U_CHAR_DIRECTION_COUNT]={
|
| + "L", "R", "EN", "ES", "ET", "AN", "CS", "B", "S", "WS", "ON",
|
| + "LRE", "LRO", "AL", "RLE", "RLO", "PDF", "NSM", "BN"
|
| +};
|
| +
|
| +UChar
|
| +charFromDirProp[U_CHAR_DIRECTION_COUNT]={
|
| + /* L R EN ES ET AN CS B S WS ON */
|
| + 0x61, 0x5d0, 0x30, 0x2f, 0x25, 0x660, 0x2c, 0xa, 0x9, 0x20, 0x26,
|
| + /* LRE LRO AL RLE RLO PDF NSM BN */
|
| + 0x202a, 0x202d, 0x627, 0x202b, 0x202e, 0x202c, 0x308, 0x200c
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText1[]={
|
| + L, L, WS, L, WS, EN, L, B
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels1[]={
|
| + 0, 0, 0, 0, 0, 0, 0, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap1[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText2[]={
|
| + R, AL, WS, R, AL, WS, R
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels2[]={
|
| + 1, 1, 1, 1, 1, 1, 1
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap2[]={
|
| + 6, 5, 4, 3, 2, 1, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText3[]={
|
| + L, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels3[]={
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap3[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText4[]={
|
| + L, AL, AL, AL, L, AL, AL, L, WS, EN, CS, WS, EN, CS, EN, WS, L, L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels4[]={
|
| + 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap4[]={
|
| + 0, 3, 2, 1, 4, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText5[]={
|
| + AL, R, AL, WS, EN, CS, WS, EN, CS, EN, WS, R, R, WS, L, L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels5[]={
|
| + 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap5[]={
|
| + 15, 14, 13, 12, 11, 10, 9, 6, 7, 8, 5, 4, 3, 2, 0, 1
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText6[]={
|
| + R, EN, NSM, ET
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels6[]={
|
| + 1, 2, 2, 2
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap6[]={
|
| + 3, 0, 1, 2
|
| +};
|
| +
|
| +#if 0
|
| +static const uint8_t
|
| +testText7[]={
|
| + /* empty */
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels7[]={
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap7[]={
|
| +};
|
| +
|
| +#endif
|
| +
|
| +static const uint8_t
|
| +testText8[]={
|
| + RLE, WS, R, R, R, WS, PDF, WS, B
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels8[]={
|
| + 1, 1, 1, 1, 1, 1, 1, 1, 1
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap8[]={
|
| + 8, 7, 6, 5, 4, 3, 2, 1, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText9[]={
|
| + LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
|
| + LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
|
| + AN, RLO, NSM, LRE, PDF, RLE, ES, EN, ON
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels9[]={
|
| + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap9[]={
|
| + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 7, 6, 5, 4, 3, 2, 1, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText10[]={
|
| + LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
|
| + LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE, LRE,
|
| + LRE, BN, CS, RLO, S, PDF, EN, LRO, AN, ES
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels10[]={
|
| + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0, 62, 62, 62, 62, 60
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap10[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText11[]={
|
| + S, WS, NSM, RLE, WS, L, L, L, WS, LRO, WS, R, R, R, WS, RLO, WS, L, L,
|
| + L, WS, LRE, WS, R, R, R, WS, PDF, WS, L, L, L, WS, PDF, WS,
|
| + AL, AL, AL, WS, PDF, WS, L, L, L, WS, PDF, WS, L, L, L, WS, PDF,
|
| + ON, PDF, BN, BN, ON, PDF
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels11[]={
|
| + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap11[]={
|
| + 0, 1, 2, 44, 43, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 31, 30, 29, 28, 27, 26, 20, 21, 24, 23, 22, 25, 19, 18, 17, 16, 15, 14, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 3, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText12[]={
|
| + NSM, WS, L, L, L, L, L, L, L, WS, L, L, L, L, WS,
|
| + R, R, R, R, R, WS, L, L, L, L, L, L, L, WS, WS, AL,
|
| + AL, AL, AL, WS, EN, EN, ES, EN, EN, CS, S, EN, EN, CS, WS,
|
| + EN, EN, WS, AL, AL, AL, AL, AL, B, L, L, L, L, L, L,
|
| + L, L, WS, AN, AN, CS, AN, AN, WS
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels12[]={
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap12[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels13[]={
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap13[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels14[]={
|
| + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 2, 4, 4, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 2
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap14[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels15[]={
|
| + 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 5, 6, 6, 5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 5
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap15[]={
|
| + 69, 68, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 55, 54, 53, 52, 51, 50, 49, 42, 43, 44, 45, 46, 47, 48, 41, 40, 39, 38, 37, 36, 35, 33, 34, 32, 30, 31, 29, 28, 26, 27, 25, 24, 22, 23, 21, 20, 19, 18, 17, 16, 15, 7, 8, 9, 10, 11, 12, 13, 14, 6, 1, 2, 3, 4, 5, 0
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels16[]={
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap16[]={
|
| + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19, 18, 17, 16, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 39, 38, 37, 36, 34, 35, 33, 31, 32, 30, 41, 52, 53, 51, 50, 48, 49, 47, 46, 45, 44, 43, 42, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText13[]={
|
| + ON, L, RLO, CS, R, WS, AN, AN, PDF, LRE, R, L, LRO, WS, BN, ON, S, LRE, LRO, B
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels17[]={
|
| + 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2, 4, 4, 4, 4, 0, 0, 0, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap17[]={
|
| + 0, 1, 15, 14, 13, 12, 11, 10, 4, 3, 2, 5, 6, 7, 8, 9, 16, 17, 18, 19
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels18[]={
|
| + 0, 0, 1, 1, 1, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap18[]={
|
| + 0, 1, 4, 3, 2, 5
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText14[]={
|
| + RLO, RLO, AL, AL, WS, EN, ES, ON, WS, S, S, PDF, LRO, WS, AL, ET, RLE, ON, EN, B
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels19[]={
|
| + 1
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap19[]={
|
| + 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText15[]={
|
| + R, L, CS, L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels20[]={
|
| + 2
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText16[]={
|
| + L, L, L, WS, L, L, L, WS, L, L, L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels21[]={
|
| + 2, 2, 2, 2, 2, 2, 2, 1
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap20[]={
|
| + 1, 2, 3, 4, 5, 6, 7, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testText17[]={
|
| + R, R, R, WS, R, R, R, WS, R, R, R
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevels22[]={
|
| + 1, 1, 1, 1, 1, 1, 1, 0
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMap21[]={
|
| + 6, 5, 4, 3, 2, 1, 0, 7
|
| +};
|
| +
|
| +static const uint8_t
|
| +testTextXX[]={
|
| + L
|
| +};
|
| +
|
| +static const UBiDiLevel
|
| +testLevelsXX[]={
|
| + 2
|
| +};
|
| +
|
| +static const uint8_t
|
| +testVisualMapXX[]={
|
| + 0
|
| +};
|
| +
|
| +const BiDiTestData
|
| +tests[]={
|
| + {testText1, ARRAY_LENGTH(testText1), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_LTR, 0,
|
| + testLevels1, testVisualMap1},
|
| + {testText2, ARRAY_LENGTH(testText2), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_RTL, 1,
|
| + testLevels2, testVisualMap2},
|
| + {testText3, ARRAY_LENGTH(testText3), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_LTR, 0,
|
| + testLevels3, testVisualMap3},
|
| + {testText4, ARRAY_LENGTH(testText4), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels4, testVisualMap4},
|
| + {testText5, ARRAY_LENGTH(testText5), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 1,
|
| + testLevels5, testVisualMap5},
|
| + {testText6, ARRAY_LENGTH(testText6), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 1,
|
| + testLevels6, testVisualMap6},
|
| + {NULL, 0, UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_LTR, 0,
|
| + NULL, NULL},
|
| + {testText8, ARRAY_LENGTH(testText8), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_RTL, 1,
|
| + testLevels8, testVisualMap8},
|
| + {testText9, ARRAY_LENGTH(testText9), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels9, testVisualMap9},
|
| + {testText10, ARRAY_LENGTH(testText10), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels10, testVisualMap10},
|
| + {testText11, ARRAY_LENGTH(testText11), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels11, testVisualMap11},
|
| + {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels12, testVisualMap12},
|
| + {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_RTL, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels13, testVisualMap13},
|
| + {testText12, ARRAY_LENGTH(testText12), 2, -1, -1,
|
| + UBIDI_MIXED, 2,
|
| + testLevels14, testVisualMap14},
|
| + {testText12, ARRAY_LENGTH(testText12), 5, -1, -1,
|
| + UBIDI_MIXED, 5,
|
| + testLevels15, testVisualMap15},
|
| + {testText12, ARRAY_LENGTH(testText12), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels16, testVisualMap16},
|
| + {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, -1, -1,
|
| + UBIDI_MIXED, 0,
|
| + testLevels17, testVisualMap17},
|
| + {testText13, ARRAY_LENGTH(testText13), UBIDI_DEFAULT_LTR, 0, 6,
|
| + UBIDI_MIXED, 0,
|
| + testLevels18, testVisualMap18},
|
| + {testText14, ARRAY_LENGTH(testText14), UBIDI_DEFAULT_LTR, 13, 14,
|
| + UBIDI_RTL, 1,
|
| + testLevels19, testVisualMap19},
|
| + {testText15, ARRAY_LENGTH(testText15), UBIDI_DEFAULT_LTR, 2, 3,
|
| + UBIDI_LTR, 2,
|
| + testLevels20, testVisualMap19},
|
| + {testText16, ARRAY_LENGTH(testText16), UBIDI_RTL, 0, 8,
|
| + UBIDI_MIXED, 1,
|
| + testLevels21, testVisualMap20},
|
| + {testText17, ARRAY_LENGTH(testText17), UBIDI_LTR, 0, 8,
|
| + UBIDI_MIXED, 0,
|
| + testLevels22, testVisualMap21},
|
| + {testTextXX, ARRAY_LENGTH(testTextXX), UBIDI_RTL, -1, -1,
|
| + UBIDI_MIXED, 1, testLevelsXX, testVisualMapXX}
|
| +};
|
| +
|
| +const int
|
| +bidiTestCount=ARRAY_LENGTH(tests);
|
|
|
| Property changes on: icu46/source/test/cintltst/cbididat.c
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|