mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-16 18:25:57 +00:00
ICU-4092 Remove invalid and unused tests
X-SVN-Rev: 16952
This commit is contained in:
parent
782d23513d
commit
a6320bf075
2 changed files with 0 additions and 189 deletions
|
@ -916,189 +916,6 @@ void RBBITest::doMultipleSelectionTest(RuleBasedBreakIterator& iterator, BITestD
|
|||
}
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Break Iterator Invariants Tests
|
||||
//
|
||||
//--------------------------------------------------------------------------------------------
|
||||
|
||||
void RBBITest::TestCharacterInvariants()
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
BreakIterator *e = BreakIterator::createCharacterInstance(Locale::getDefault(), status);
|
||||
if (U_FAILURE(status))
|
||||
{
|
||||
errln("Failed to create the BreakIterator for default locale in TestCharacterInvariants.\n");
|
||||
return;
|
||||
}
|
||||
UnicodeString s = *cannedTestChars + CharsToUnicodeString("\\u1100\\u1101\\u1102\\u1160\\u1161\\u1162\\u11a8\\u11a9\\u11aa");
|
||||
doBreakInvariantTest(*e, s);
|
||||
s = *cannedTestChars + CharsToUnicodeString("\\u1100\\u1101\\u1102\\u1160\\u1161\\u1162\\u11a8\\u11a9\\u11aa");
|
||||
doOtherInvariantTest(*e, s);
|
||||
delete e;
|
||||
}
|
||||
|
||||
|
||||
void RBBITest::TestWordInvariants()
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
BreakIterator *e = BreakIterator::createWordInstance(Locale::getDefault(), status);
|
||||
if (U_FAILURE(status))
|
||||
{
|
||||
errln("Failed to create the BreakIterator for default locale in TestWordInvariants.\n");
|
||||
return;
|
||||
}
|
||||
UnicodeString s = *cannedTestChars + CharsToUnicodeString("\',.\\u3041\\u3042\\u3043\\u309b\\u309c\\u30a1\\u30a2\\u30a3\\u4e00\\u4e01\\u4e02");
|
||||
doBreakInvariantTest(*e, s);
|
||||
s = *cannedTestChars + CharsToUnicodeString("\',.\\u3041\\u3042\\u3043\\u309b\\u309c\\u30a1\\u30a2\\u30a3\\u4e00\\u4e01\\u4e02");
|
||||
doOtherInvariantTest(*e, s);
|
||||
delete e;
|
||||
}
|
||||
|
||||
|
||||
void RBBITest::TestSentenceInvariants()
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
BreakIterator *e = BreakIterator::createSentenceInstance(Locale::getDefault(), status);
|
||||
if (U_FAILURE(status))
|
||||
{
|
||||
errln("Failed to create the BreakIterator for default locale in TestSentenceInvariant.\n");
|
||||
return;
|
||||
}
|
||||
UnicodeString s = *cannedTestChars + CharsToUnicodeString(".,\\u3001\\u3002\\u3041\\u3042\\u3043\\ufeff");
|
||||
doOtherInvariantTest(*e, s);
|
||||
delete e;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void RBBITest::doBreakInvariantTest(BreakIterator& tb, UnicodeString& testChars)
|
||||
{
|
||||
UnicodeString work("aaa");
|
||||
int32_t errCount = 0, testCharsLen = testChars.length(), breaksLen;
|
||||
|
||||
// a break should always occur after CR (unless followed by LF), LF, PS, and LS
|
||||
UnicodeString breaks = CharsToUnicodeString("\r\n\\u2029\\u2028");
|
||||
int32_t i, j;
|
||||
|
||||
breaksLen = breaks.length();
|
||||
for (i = 0; i < breaksLen; i++) {
|
||||
UChar c1 = breaks[i];
|
||||
work.setCharAt(1, c1);
|
||||
for (j = 0; j < testCharsLen; j++) {
|
||||
UChar c0 = testChars[j];
|
||||
work.setCharAt(0, c0);
|
||||
int k;
|
||||
for (k = 0; k < testCharsLen; k++) {
|
||||
UChar c2 = testChars[k];
|
||||
work.setCharAt(2, c2);
|
||||
|
||||
// if a cr is followed by lf, ps, ls or etx, don't do the check (that's
|
||||
// not supposed to work)
|
||||
if (c1 == '\r' && (c2 == '\n' || c2 == 0x2029
|
||||
|| c2 == 0x2028 || c2 == 0x0003))
|
||||
continue;
|
||||
|
||||
if (u_charType(c1) == U_CONTROL_CHAR &&
|
||||
(u_charType(c2) == U_NON_SPACING_MARK ||
|
||||
u_charType(c2) == U_ENCLOSING_MARK ||
|
||||
u_charType(c2) == U_COMBINING_SPACING_MARK)
|
||||
) {
|
||||
// Combining marks don't combine with controls.
|
||||
// TODO: enhance test to verify that the break actually occurs,
|
||||
// not just ignore the case.
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
tb.setText(work);
|
||||
UBool seen2 = FALSE;
|
||||
int l;
|
||||
for (l = tb.first(); l != BreakIterator::DONE; l = tb.next()) {
|
||||
if (l == 2) {
|
||||
seen2 = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!seen2) {
|
||||
printStringBreaks(work, NULL, 0);
|
||||
errln("No Break between \\U%04x and \\U%04x", c1, c2);
|
||||
errCount++;
|
||||
if (errCount >= 75)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void RBBITest::doOtherInvariantTest(BreakIterator& tb, UnicodeString& testChars)
|
||||
{
|
||||
UnicodeString work("a\r\na");
|
||||
int32_t errCount = 0, testCharsLen = testChars.length();
|
||||
int32_t i, j;
|
||||
int8_t type;
|
||||
|
||||
// a break should never occur between CR and LF
|
||||
for (i = 0; i < testCharsLen; i++) {
|
||||
work.setCharAt(0, testChars[i]);
|
||||
for (j = 0; j < testCharsLen; j++) {
|
||||
work.setCharAt(3, testChars[j]);
|
||||
tb.setText(work);
|
||||
int32_t k;
|
||||
for (k = tb.first(); k != BreakIterator::DONE; k = tb.next())
|
||||
if (k == 2) {
|
||||
errln("Break between CR and LF in string U\\%04x U\\%04x U\\%04x U\\%04x",
|
||||
work[0], work[1], work[2], work[3]);
|
||||
errCount++;
|
||||
if (errCount >= 75)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// a break should never occur before a non-spacing mark, unless the preceding
|
||||
// character is CR, LF, PS, or LS
|
||||
// Or the general category == Control.
|
||||
work.remove();
|
||||
work += "aaaa";
|
||||
for (i = 0; i < testCharsLen; i++) {
|
||||
UChar c1 = testChars[i];
|
||||
if (c1 == '\n' || c1 == '\r' || c1 == 0x2029 || c1 == 0x2028 || c1 == 0x0003 ||
|
||||
u_charType(c1) == U_CONTROL_CHAR || u_charType(c1) == U_FORMAT_CHAR) {
|
||||
continue;
|
||||
}
|
||||
work.setCharAt(1, c1);
|
||||
for (j = 0; j < testCharsLen; j++) {
|
||||
UChar c2 = testChars[j];
|
||||
type = u_charType(c2);
|
||||
if ((type != U_NON_SPACING_MARK) &&
|
||||
(type != U_ENCLOSING_MARK)) {
|
||||
continue;
|
||||
}
|
||||
work.setCharAt(2, c2);
|
||||
tb.setText(work);
|
||||
int k;
|
||||
for (k = tb.first(); k != BreakIterator::DONE; k = tb.next())
|
||||
if (k == 2) {
|
||||
//errln("Break between U+" + UCharToUnicodeString(work[1])
|
||||
// + " and U+" + UCharToUnicodeString(work[2]));
|
||||
errln("Unexpected Break between %6x and %6x", c1, c2);
|
||||
errCount++;
|
||||
if (errCount >= 75)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------
|
||||
//
|
||||
// other tests
|
||||
|
|
|
@ -51,9 +51,6 @@ public:
|
|||
* Run tests from external test data file.
|
||||
*/
|
||||
|
||||
void TestSentenceInvariants();
|
||||
void TestCharacterInvariants();
|
||||
void TestWordInvariants();
|
||||
void TestEmptyString();
|
||||
void TestGetAvailableLocales();
|
||||
void TestGetDisplayName();
|
||||
|
@ -118,9 +115,6 @@ private:
|
|||
**/
|
||||
void doMultipleSelectionTest(RuleBasedBreakIterator& iterator, BITestData &td);
|
||||
|
||||
void doBreakInvariantTest(BreakIterator& tb, UnicodeString& testChars);
|
||||
void doOtherInvariantTest(BreakIterator& tb, UnicodeString& testChars);
|
||||
|
||||
void RunMonkey(BreakIterator *bi, RBBIMonkeyKind &mk, const char *name, uint32_t seed, int32_t loopCount);
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue