mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 07:39:16 +00:00
ICU-865 This test is too slow,
and I think os/390 has a problem with it opening up the file as non-binary X-SVN-Rev: 4193
This commit is contained in:
parent
a4dce67c57
commit
c1c054062d
2 changed files with 48 additions and 22 deletions
|
@ -71,10 +71,10 @@ void NormalizerConformanceTest::TestConformance(void) {
|
|||
strcat(backupPath, TEST_SUITE_FILE);
|
||||
|
||||
|
||||
input = T_FileStream_open(newPath, "r");
|
||||
input = T_FileStream_open(newPath, "rb");
|
||||
|
||||
if (input == 0) {
|
||||
input = T_FileStream_open(backupPath, "r");
|
||||
input = T_FileStream_open(backupPath, "rb");
|
||||
if (input == 0) {
|
||||
errln("Failed to open either " + UnicodeString(newPath) + " or " + UnicodeString(backupPath) );
|
||||
return;
|
||||
|
@ -141,35 +141,38 @@ UBool NormalizerConformanceTest::checkConformance(const UnicodeString* field,
|
|||
UBool pass = TRUE;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
UnicodeString out;
|
||||
int32_t fieldNum;
|
||||
|
||||
for (int32_t i=0; i<FIELD_COUNT; ++i) {
|
||||
fieldNum = i+1;
|
||||
if (i<3) {
|
||||
Normalizer::normalize(field[i], Normalizer::COMPOSE, 0, out, status);
|
||||
pass &= assertEqual("C", field[i], out, field[1], (UnicodeString)"c2!=C(c" + (i+1));
|
||||
pass &= assertEqual("C", field[i], out, field[1], "c2!=C(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::COMPOSE, out, +1);
|
||||
pass &= assertEqual("C(+1)", field[i], out, field[1], (UnicodeString)"c2!=C(c" + (i+1));
|
||||
pass &= assertEqual("C(+1)", field[i], out, field[1], "c2!=C(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::COMPOSE, out, -1);
|
||||
pass &= assertEqual("C(-1)", field[i], out, field[1], (UnicodeString)"c2!=C(c" + (i+1));
|
||||
pass &= assertEqual("C(-1)", field[i], out, field[1], "c2!=C(c", fieldNum);
|
||||
|
||||
Normalizer::normalize(field[i], Normalizer::DECOMP, 0, out, status);
|
||||
pass &= assertEqual("D", field[i], out, field[2], (UnicodeString)"c3!=D(c" + (i+1));
|
||||
pass &= assertEqual("D", field[i], out, field[2], "c3!=D(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::DECOMP, out, +1);
|
||||
pass &= assertEqual("D(+1)", field[i], out, field[2], (UnicodeString)"c3!=D(c" + (i+1));
|
||||
pass &= assertEqual("D(+1)", field[i], out, field[2], "c3!=D(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::DECOMP, out, -1);
|
||||
pass &= assertEqual("D(-1)", field[i], out, field[2], (UnicodeString)"c3!=D(c" + (i+1));
|
||||
pass &= assertEqual("D(-1)", field[i], out, field[2], "c3!=D(c", fieldNum);
|
||||
}
|
||||
Normalizer::normalize(field[i], Normalizer::COMPOSE_COMPAT, 0, out, status);
|
||||
pass &= assertEqual("KC", field[i], out, field[3], (UnicodeString)"c4!=KC(c" + (i+1));
|
||||
pass &= assertEqual("KC", field[i], out, field[3], "c4!=KC(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::COMPOSE_COMPAT, out, +1);
|
||||
pass &= assertEqual("KC(+1)", field[i], out, field[3], (UnicodeString)"c4!=KC(c" + (i+1));
|
||||
pass &= assertEqual("KC(+1)", field[i], out, field[3], "c4!=KC(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::COMPOSE_COMPAT, out, -1);
|
||||
pass &= assertEqual("KC(-1)", field[i], out, field[3], (UnicodeString)"c4!=KC(c" + (i+1));
|
||||
pass &= assertEqual("KC(-1)", field[i], out, field[3], "c4!=KC(c", fieldNum);
|
||||
|
||||
Normalizer::normalize(field[i], Normalizer::DECOMP_COMPAT, 0, out, status);
|
||||
pass &= assertEqual("KD", field[i], out, field[4], (UnicodeString)"c5!=KD(c" + (i+1));
|
||||
pass &= assertEqual("KD", field[i], out, field[4], "c5!=KD(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::DECOMP_COMPAT, out, +1);
|
||||
pass &= assertEqual("KD(+1)", field[i], out, field[4], (UnicodeString)"c5!=KD(c" + (i+1));
|
||||
pass &= assertEqual("KD(+1)", field[i], out, field[4], "c5!=KD(c", fieldNum);
|
||||
iterativeNorm(field[i], Normalizer::DECOMP_COMPAT, out, -1);
|
||||
pass &= assertEqual("KD(-1)", field[i], out, field[4], (UnicodeString)"c5!=KD(c" + (i+1));
|
||||
pass &= assertEqual("KD(-1)", field[i], out, field[4], "c5!=KD(c", fieldNum);
|
||||
}
|
||||
if (U_FAILURE(status)) {
|
||||
errln("Normalizer::normalize returned error status");
|
||||
|
@ -218,15 +221,37 @@ void NormalizerConformanceTest::iterativeNorm(const UnicodeString& str,
|
|||
* @param msg description of this test
|
||||
* @param return true if got == exp
|
||||
*/
|
||||
UBool NormalizerConformanceTest::assertEqual(const UnicodeString& op,
|
||||
UBool NormalizerConformanceTest::assertEqual(const char *op,
|
||||
const UnicodeString& s,
|
||||
const UnicodeString& got,
|
||||
const UnicodeString& exp,
|
||||
const UnicodeString& msg) {
|
||||
if (exp == got) return TRUE;
|
||||
errln((UnicodeString)" " + msg + ") " + op + "(" +
|
||||
prettify(s) + ")=" + prettify(got) +
|
||||
", exp. " + prettify(exp));
|
||||
const char *msg,
|
||||
int32_t field)
|
||||
{
|
||||
if (exp == got)
|
||||
return TRUE;
|
||||
|
||||
char *sChars, *gotChars, *expChars;
|
||||
UnicodeString sPretty(prettify(s));
|
||||
UnicodeString gotPretty(prettify(got));
|
||||
UnicodeString expPretty(prettify(exp));
|
||||
|
||||
sChars = new char[sPretty.length() + 1];
|
||||
gotChars = new char[gotPretty.length() + 1];
|
||||
expChars = new char[expPretty.length() + 1];
|
||||
|
||||
sPretty.extract(0, sPretty.length(), sChars, sPretty.length() + 1);
|
||||
sChars[sPretty.length()] = 0;
|
||||
gotPretty.extract(0, gotPretty.length(), gotChars, gotPretty.length() + 1);
|
||||
gotChars[gotPretty.length()] = 0;
|
||||
expPretty.extract(0, expPretty.length(), expChars, expPretty.length() + 1);
|
||||
expChars[expPretty.length()] = 0;
|
||||
|
||||
errln(" %s%d)%s(%s)=%s, exp. %s", msg, field, op, sChars, gotChars, expChars);
|
||||
|
||||
delete []sChars;
|
||||
delete []gotChars;
|
||||
delete []expChars;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -67,11 +67,12 @@ class NormalizerConformanceTest : public IntlTest {
|
|||
* @param msg description of this test
|
||||
* @param return true if got == exp
|
||||
*/
|
||||
UBool assertEqual(const UnicodeString& op,
|
||||
UBool assertEqual(const char *op,
|
||||
const UnicodeString& s,
|
||||
const UnicodeString& got,
|
||||
const UnicodeString& exp,
|
||||
const UnicodeString& msg);
|
||||
const char *msg,
|
||||
int32_t field);
|
||||
|
||||
/**
|
||||
* Split a string into pieces based on the given delimiter
|
||||
|
|
Loading…
Add table
Reference in a new issue