You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
6.9 KiB
232 lines
6.9 KiB
// © 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/********************************************************************
|
|
* COPYRIGHT:
|
|
* Copyright (c) 1998-2016, International Business Machines Corporation and
|
|
* others. All Rights Reserved.
|
|
********************************************************************/
|
|
|
|
/**
|
|
* MajorTestLevel is the top level test class for everything in the directory "IntlWork".
|
|
*/
|
|
|
|
/***********************************************************************
|
|
* Modification history
|
|
* Date Name Description
|
|
* 02/14/2001 synwee Release collation for testing.
|
|
***********************************************************************/
|
|
|
|
#include "unicode/utypes.h"
|
|
#include "unicode/localpointer.h"
|
|
#include "itmajor.h"
|
|
|
|
#include "itutil.h"
|
|
#include "tscoll.h"
|
|
#include "itformat.h"
|
|
#include "ittrans.h"
|
|
#include "itrbbi.h"
|
|
#include "itrbnf.h"
|
|
#include "itrbnfp.h"
|
|
#include "itrbnfrt.h"
|
|
#include "itspoof.h"
|
|
#include "normconf.h"
|
|
#include "regextst.h"
|
|
#include "tstnorm.h"
|
|
#include "canittst.h"
|
|
#include "icusvtst.h"
|
|
#include "testidna.h"
|
|
#include "convtest.h"
|
|
#include "csdetest.h"
|
|
|
|
extern IntlTest *createBiDiConformanceTest();
|
|
|
|
#define CASE_SUITE(id, suite) case id: \
|
|
name = #suite; \
|
|
if(exec) { \
|
|
logln(#suite "---"); \
|
|
suite test; \
|
|
callTest(test, par); \
|
|
} \
|
|
break
|
|
|
|
void MajorTestLevel::runIndexedTest( int32_t index, UBool exec, const char* &name, char* par )
|
|
{
|
|
switch (index) {
|
|
case 0: name = "utility";
|
|
if (exec) {
|
|
logln("TestSuite Utilities---"); logln();
|
|
IntlTestUtilities test;
|
|
callTest( test, par, name );
|
|
}
|
|
break;
|
|
|
|
case 1: name = "normalize";
|
|
#if !UCONFIG_NO_NORMALIZATION
|
|
if (exec) {
|
|
logln("TestSuite Normalize---"); logln();
|
|
IntlTestNormalize test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 2: name = "collate";
|
|
#if !UCONFIG_NO_COLLATION
|
|
if (exec) {
|
|
logln("TestSuite Collator---"); logln();
|
|
IntlTestCollator test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 3: name = "regex";
|
|
#if !UCONFIG_NO_REGULAR_EXPRESSIONS
|
|
if (exec) {
|
|
logln("TestSuite Regex---"); logln();
|
|
RegexTest test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 4: name = "format";
|
|
#if !UCONFIG_NO_FORMATTING
|
|
if (exec) {
|
|
logln("TestSuite Format---"); logln();
|
|
IntlTestFormat test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 5: name = "translit";
|
|
#if !UCONFIG_NO_TRANSLITERATION
|
|
if (exec) {
|
|
logln("TestSuite Transliterator---"); logln();
|
|
IntlTestTransliterator test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 6: name = "rbbi";
|
|
#if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_REGULAR_EXPRESSIONS
|
|
if (exec) {
|
|
logln("TestSuite RuleBasedBreakIterator---"); logln();
|
|
IntlTestRBBI test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
case 7: name = "rbnf";
|
|
#if !UCONFIG_NO_FORMATTING
|
|
if (exec) {
|
|
logln("TestSuite RuleBasedNumberFormat----"); logln();
|
|
IntlTestRBNF test;
|
|
callTest(test, par, name);
|
|
}
|
|
#endif
|
|
break;
|
|
case 8: name = "rbnfrt";
|
|
#if !UCONFIG_NO_FORMATTING
|
|
if (exec) {
|
|
logln("TestSuite RuleBasedNumberFormat RT----"); logln();
|
|
RbnfRoundTripTest test;
|
|
callTest(test, par, name);
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 9: name = "icuserv";
|
|
#if !UCONFIG_NO_SERVICE
|
|
if (exec) {
|
|
logln("TestSuite ICUService---"); logln();
|
|
ICUServiceTest test;
|
|
callTest(test, par, name);
|
|
}
|
|
#endif
|
|
break;
|
|
case 10: name = "idna";
|
|
#if !UCONFIG_NO_IDNA && !UCONFIG_NO_TRANSLITERATION
|
|
if(exec){
|
|
logln("TestSuite IDNA----"); logln();
|
|
TestIDNA test;
|
|
callTest(test,par, name);
|
|
}
|
|
#endif
|
|
break;
|
|
case 11: name = "convert";
|
|
#if !UCONFIG_NO_LEGACY_CONVERSION
|
|
if (exec) {
|
|
logln("TestSuite Conversion---"); logln();
|
|
ConversionTest test;
|
|
callTest( test, par, name );
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 12: name = "rbnfp";
|
|
#if !UCONFIG_NO_FORMATTING
|
|
if (exec) {
|
|
logln("TestSuite RuleBasedNumberParse ----"); logln();
|
|
IntlTestRBNFParse test;
|
|
callTest(test, par, name);
|
|
}
|
|
#endif
|
|
break;
|
|
|
|
case 13: name = "csdet";
|
|
if (exec) {
|
|
logln("TestSuite CharsetDetection---"); logln();
|
|
CharsetDetectionTest test;
|
|
callTest(test, par, name);
|
|
}
|
|
|
|
break;
|
|
|
|
case 14:
|
|
#if !UCONFIG_NO_REGULAR_EXPRESSIONS && !UCONFIG_NO_NORMALIZATION && !UCONFIG_NO_FILE_IO
|
|
name = "spoof";
|
|
if (exec) {
|
|
logln("TestSuite SpoofDetection---"); logln();
|
|
IntlTestSpoof test;
|
|
callTest(test, par, name);
|
|
}
|
|
#else
|
|
name = "skip";
|
|
#endif
|
|
break;
|
|
|
|
case 15: name = "bidi";
|
|
if (exec) {
|
|
logln("TestSuite bidi---"); logln();
|
|
LocalPointer<IntlTest> test(createBiDiConformanceTest());
|
|
callTest(*test, par, name);
|
|
}
|
|
|
|
break;
|
|
|
|
default: name = ""; break;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
void IntlTestNormalize::runIndexedTest( int32_t index, UBool exec, const char* &name, char* par )
|
|
{
|
|
if(exec) logln("TestSuite Normalize:");
|
|
#if UCONFIG_NO_NORMALIZATION
|
|
name="";
|
|
#else
|
|
switch (index) {
|
|
CASE_SUITE(0, BasicNormalizerTest);
|
|
CASE_SUITE(1, NormalizerConformanceTest); // this takes a long time
|
|
CASE_SUITE(2, CanonicalIteratorTest);
|
|
default:
|
|
name="";
|
|
break;
|
|
}
|
|
#endif
|
|
}
|