Browse Source

Testing UTS 51 (5.0-12) ED-8a. text presentation sequence

master
Reece H. Dunn 8 years ago
parent
commit
e02ab7d0c2
1 changed files with 38 additions and 6 deletions
  1. 38
    6
      tests/readclause.c

+ 38
- 6
tests/readclause.c View File

@@ -90,15 +90,14 @@ test_latin_sentence()
0, 17, 18, // #1
0, 20, 21, // in
0, 23, 24, 25, // the
0, 27, 28, 29, 30, // race
0 };
0, 27, 28, 29, 30 }; // race

assert(set_text("Janet finished #1 in the race.", "en") == ENS_OK);

charix_top = 0;
assert(ReadClause(translator, source, charix, &charix_top, N_TR_SOURCE, &tone2, voice_change_name) == (CLAUSE_PERIOD | CLAUSE_DOT_AFTER_LAST_WORD));
assert(!strcmp(source, "Janet finished #1 in the race "));
assert(charix_top == (sizeof(retix)/sizeof(retix[0])) - 2);
assert(charix_top == (sizeof(retix)/sizeof(retix[0])) - 1);
assert(!memcmp(charix, retix, sizeof(retix)));
assert(tone2 == 0);
assert(voice_change_name[0] == 0);
@@ -221,8 +220,7 @@ test_uts51_emoji_character()
3, -1, -1,
4, -1, -1, -1,
5, -1, -1, -1,
6,
0 };
6 };

assert(set_text(
"\xE2\x86\x94" // [2194] left right arrow
@@ -241,7 +239,40 @@ test_uts51_emoji_character()
"\xF0\x9F\x90\x8B" // [1F40B] whale
"\xF0\x9F\x90\xAC" // [1F42C] dolphin
" "));
assert(charix_top == (sizeof(retix)/sizeof(retix[0])) - 2);
assert(charix_top == (sizeof(retix)/sizeof(retix[0])) - 1);
assert(!memcmp(charix, retix, sizeof(retix)));
assert(tone2 == 0);
assert(voice_change_name[0] == 0);
}

void
test_uts51_text_presentation_sequence()
{
printf("testing Emoji ... UTS-51 ED-8a. text presentation sequence\n");

short retix[] = {
0, 2, -1, -1,
3, 4, -1, -1,
5, -1, -1, 6, -1, -1,
7, -1, -1, -1, 8, -1, -1,
9 };

assert(set_text(
"#\xEF\xB8\x8E" // [0023 FE0E] number sign (text style)
"4\xEF\xB8\x8E" // [0034 FE0E] digit four (text style)
"\xE2\x80\xBC\xEF\xB8\x8E" // [203C FE0E] double exclamation mark (text style)
"\xF0\x9F\x97\x92\xEF\xB8\x8E", // [1F5D2 FE0E] spiral note pad (text style)
"en") == ENS_OK);

charix_top = 0;
assert(ReadClause(translator, source, charix, &charix_top, N_TR_SOURCE, &tone2, voice_change_name) == CLAUSE_EOF);
assert(!strcmp(source,
"#\xEF\xB8\x8E" // [0023 FE0E] number sign (text style)
"4\xEF\xB8\x8E" // [0034 FE0E] digit four (text style)
"\xE2\x80\xBC\xEF\xB8\x8E" // [203C FE0E] double exclamation mark (text style)
"\xF0\x9F\x97\x92\xEF\xB8\x8E" // [1F5D2 FE0E] spiral note pad (text style)
" "));
assert(charix_top == (sizeof(retix)/sizeof(retix[0])) - 1);
assert(!memcmp(charix, retix, sizeof(retix)));
assert(tone2 == 0);
assert(voice_change_name[0] == 0);
@@ -267,6 +298,7 @@ main(int argc, char **argv)
test_fullwidth();

test_uts51_emoji_character();
test_uts51_text_presentation_sequence();

assert(espeak_Terminate() == EE_OK);


Loading…
Cancel
Save