12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/******************************************************************** 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Copyright (c) 1997-2013 International Business Machines 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Corporation and others. All Rights Reserved. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ********************************************************************/ 590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)/******************************************************************************** 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)* 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)* File CAPITEST.H 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)* 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)* Modification History: 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)* Name Description 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)* Madhu Katragadda Converted to C 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)* Brian Rower Added TestOpenVsOpenRules 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)********************************************************************************* 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)*//* C API TEST For COLLATOR */ 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef _CCOLLAPITST 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define _CCOLLAPITST 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "unicode/utypes.h" 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if !UCONFIG_NO_COLLATION 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cintltst.h" 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "callcoll.h" 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define MAX_TOKEN_LEN 16 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * error reporting utility method 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void doAssert(int condition, const char *message); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Collator Class Properties 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * ctor, dtor, createInstance, compare, getStrength/setStrength 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * getDecomposition/setDecomposition, getDisplayName 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestProperty(void); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test RuleBasedCollator and getRules 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestRuleBasedColl(void); 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test compare 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestCompare(void); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test hashCode functionality 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestHashCode(void); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Tests the constructor and numerous other methods for CollationKey 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestSortKey(void); 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * test the CollationElementIterator methods 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestElemIter(void); 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test ucol_getAvailable and ucol_countAvailable() 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestGetAll(void); 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test ucol_GetDefaultRules () 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestGetDefaultRules(void); 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestDecomposition(void); 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test ucol_safeClone () 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestSafeClone(void); 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test ucol_cloneBinary(), ucol_openBinary() 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestCloneBinary(void); 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test ucol_open() vs. ucol_openRules() 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) **/ 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestOpenVsOpenRules(void); 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test getting bounds for a sortkey 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestBounds(void); 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 906d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) /** 916d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) * Test ucol_getLocale function 926d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) */ 936d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) void TestGetLocale(void); 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test buffer overrun while having smaller buffer for sortkey (j1865) 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 98e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch void TestSortKeyBufferOverrun(void); 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test getting and setting of attributes 101010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) */ 102010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) void TestGetSetAttr(void); 103010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) /** 104010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) * Test getTailoredSet 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestGetTailoredSet(void); 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test mergeSortKeys 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void TestMergeSortKeys(void); 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * test short string and collator identifier functions 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void TestShortString(void); 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * test getContractions and getUnsafeSet 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void TestGetContractionsAndUnsafes(void); 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test funny stuff with open binary 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void TestOpenBinary(void); 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Test getKeywordValuesForLocale API 1302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void TestGetKeywordValuesForLocale(void); 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * test strcoll with null arg 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void TestStrcollNull(void); 1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* #if !UCONFIG_NO_COLLATION */ 1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)