1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/******************************************************************** 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * COPYRIGHT: 385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Copyright (c) 1997-2009, International Business Machines Corporation and 4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * others. All Rights Reserved. 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************/ 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h" 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !UCONFIG_NO_COLLATION 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/coll.h" 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/tblcoll.h" 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/unistr.h" 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/sortkey.h" 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "allcoll.h" 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "sfwdchit.h" 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "../cintltst/calldata.h" 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruCollationDummyTest::CollationDummyTest() 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru: myCollation(0) 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /*UErrorCode status = U_ZERO_ERROR; 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString rules(TRUE, DEFAULTRULEARRAY, sizeof(DEFAULTRULEARRAY)/sizeof(DEFAULTRULEARRAY[0])); 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString newRules("& C < ch, cH, Ch, CH & Five, 5 & Four, 4 & one, 1 & Ampersand; '&' & Two, 2 "); 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru rules += newRules; 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation = new RuleBasedCollator(rules, status); 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString ruleset("& C < ch, cH, Ch, CH & Five, 5 & Four, 4 & one, 1 & Ampersand; '&' & Two, 2 "); 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (myCollation != NULL) 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete myCollation; 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation = new RuleBasedCollator(ruleset, status); 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(U_FAILURE(status)){ 3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho errcheckln(status, "ERROR: in creation of rule based collator from ruleset - %s", u_errorName(status)); 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete myCollation; 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation = 0; 41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruCollationDummyTest::~CollationDummyTest() 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete myCollation; 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruconst Collator::EComparisonResult CollationDummyTest::results[] = { 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, /*Collator::GREATER,*/ 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::GREATER, 58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::GREATER, 59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, /* 10 */ 60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::GREATER, 61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::GREATER, 63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::GREATER, 64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* test primary > 17 */ 68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, /* 20 */ 71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 75ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* test secondary > 26 */ 78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 79ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, /* 30 */ 83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS, 85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, /* 34 */ 86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EQUAL, 88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::LESS 89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestTertiary(/* char* par */) 93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t i = 0; 95ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setStrength(Collator::TERTIARY); 96ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (i = 0; i < 17 ; i++) 97ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 98ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]); 99ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 100ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 101ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestPrimary(/* char* par */) 102ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 103ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* problem in strcollinc for unfinshed contractions */ 104ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 105ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 106ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setAttribute(UCOL_NORMALIZATION_MODE, UCOL_ON, status); 107ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setStrength(Collator::PRIMARY); 108ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 109ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (U_FAILURE(status)) 110ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 111ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("Failure in setting attribute for normalization mode\n"); 112ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 113ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 114ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (int i = 17; i < 26 ; i++) 115ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 116ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]); 117ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 118ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 119ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 120ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestSecondary(/* char* par */) 121ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 122ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t i; 123ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setStrength(Collator::SECONDARY); 124ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (i = 26; i < 34; i++) 125ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 126ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]); 127ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 128ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 129ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 130ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestExtra(/* char* par */) 131ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 132ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t i, j; 133ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setStrength(Collator::TERTIARY); 134ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (i = 0; i < COUNT_TEST_CASES-1; i++) 135ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 136ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (j = i + 1; j < COUNT_TEST_CASES; j += 1) 137ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 138ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru doTest(myCollation, testCases[i], testCases[j], Collator::LESS); 139ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 140ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 141ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 142ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 143ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestIdentical() 144ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 145ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru int32_t i; 146ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru myCollation->setStrength(Collator::IDENTICAL); 147ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru for (i= 34; i<37; i++) 148ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 149ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru doTest(myCollation, testSourceCases[i], testTargetCases[i], results[i]); 150ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 151ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 152ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 153ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::TestJB581(void) 154ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 155ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UErrorCode status = U_ZERO_ERROR; 156ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 157ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString source("THISISATEST."); 158ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru UnicodeString target("Thisisatest."); 159ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 160ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator *coll = Collator::createInstance("en_US", status); 161ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (U_FAILURE(status)){ 162ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("ERROR: Failed to create the collator for : en_US\n"); 163ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru return; 164ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 165ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 166ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru Collator::EComparisonResult result = coll->compare(source, target); 167ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* result is 1, secondary differences only for ignorable space characters*/ 168ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (result != 1) 169ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 170ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("Comparing two strings with only secondary differences in C failed.\n"); 171ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 172ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* To compare them with just primary differences */ 173ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru coll->setStrength(Collator::PRIMARY); 174ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru result = coll->compare(source, target); 175ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* result is 0 */ 176ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (result != 0) 177ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 178ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("Comparing two strings with no differences in C failed.\n"); 179ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 180ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru /* Now, do the same comparison with keys */ 181ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CollationKey sourceKeyOut, 182ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru targetKeyOut; 183ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru coll->getCollationKey(source, sourceKeyOut, status); 184ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru coll->getCollationKey(target, targetKeyOut, status); 185ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru result = sourceKeyOut.compareTo(targetKeyOut); 186ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (result != 0) 187ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru { 188ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru errln("Comparing two strings with sort keys in C failed.\n"); 189ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 190ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru delete coll; 191ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 192ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 193ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid CollationDummyTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) 194ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 195ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if (exec) logln("TestSuite CollationDummyTest: "); 196ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru if(myCollation) { 197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru switch (index) { 198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 0: name = "TestPrimary"; if (exec) TestPrimary(/* par */); break; 199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 1: name = "TestSecondary"; if (exec) TestSecondary(/* par */); break; 200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 2: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break; 201ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 3: name = "TestExtra"; if (exec) TestExtra(/* par */); break; 202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 4: name = "TestIdentical"; if (exec) TestIdentical(/* par */); break; 203ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru case 5: name = "TestJB581"; if (exec) TestJB581(/* par */); break; 204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru default: name = ""; break; 205ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 206ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } else { 20785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho dataerrln("Collator couldn't be instantiated!"); 208ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru name = ""; 209ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru } 210ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} 211ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 212ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_COLLATION */ 213