1f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)/******************************************************************** 2f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) * COPYRIGHT: 3f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) * Copyright (c) 1997-2009, International Business Machines Corporation and 4f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) * others. All Rights Reserved. 5f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) ********************************************************************/ 6f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 7f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)/** 8f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) * Collation regression tests. 9f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) * (So we'll have no regrets later) 10f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) */ 11f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 12f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#ifndef _REGCOLL 13f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#define _REGCOLL 14f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 15f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#include "unicode/utypes.h" 16f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 17f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#if !UCONFIG_NO_COLLATION 18f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 19f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#include "unicode/coleitr.h" 20f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#include "tscoll.h" 21f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 22f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)class CollationRegressionTest: public IntlTestCollator 23f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles){ 24f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)public: 25f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 26f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // If this is too small for the test data, just increase it. 27f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Just don't make it too large, otherwise the executable will get too big 28f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) enum EToken_Len { MAX_TOKEN_LEN = 32 }; 29f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 30f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) CollationRegressionTest(); 31f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) virtual ~CollationRegressionTest(); 32f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 33f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 34f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 35f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4048446 36f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 37f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // CollationElementIterator.reset() doesn't work 38f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 39f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4048446(/* char* par */); 40f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 41f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4051866 42f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 43f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator -> rules -> Collator round-trip broken for expanding characters 44f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 45f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4051866(/* char* par */); 46f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 47f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4053636 48f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 49f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator thinks "black-bird" == "black" 50f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 51f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4053636(/* char* par */); 52f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 53f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 54f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4054238 55f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 56f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // CollationElementIterator will not work correctly if the associated 57f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator object's mode is changed 58f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 59f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4054238(/* char* par */); 60f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 61f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4054734 62f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 63f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator.IDENTICAL documented but not implemented 64f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 65f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4054734(/* char* par */); 66f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 67f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4054736 68f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 69f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Full Decomposition mode not implemented 70f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 71f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4054736(/* char* par */); 72f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 73f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4058613 74f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 75f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator.getInstance() causes an ArrayIndexOutofBoundsException for Korean 76f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 77f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4058613(/* char* par */); 78f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 79f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4059820 80f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 81f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // RuleBasedCollator.getRules does not return the exact pattern as input 82f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // for expanding character sequences 83f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 84f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4059820(/* char* par */); 85f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 86f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4060154 87f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 88f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // MergeCollation::fixEntry broken for "& H < \u0131, \u0130, i, I" 89f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 90f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4060154(/* char* par */); 91f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 92f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4062418 93f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 94f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Secondary/Tertiary comparison incorrect in French Secondary 95f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 96f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4062418(/* char* par */); 97f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 98f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4065540 99f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 100f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator.compare() method broken if either string contains spaces 101f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 102f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4065540(/* char* par */); 103f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 104f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4066189 105f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 106f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Unicode characters need to be recursively decomposed to get the 107f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // correct result. For example, 108f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // u1EB1 -> \u0103 + \u0300 -> a + \u0306 + \u0300. 109f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 110f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4066189(/* char* par */); 111f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 112f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4066696 113f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 114f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // French secondary collation checking at the end of compare iteration fails 115f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 116f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4066696(/* char* par */); 117f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 118f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 119f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4076676 120f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 121f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Bad canonicalization of same-class combining characters 122f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 123f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4076676(/* char* par */); 124f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 125f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 126f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4078588 127f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 128f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // RuleBasedCollator breaks on "< a < bb" rule 129f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 130f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4078588(/* char* par */); 131f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 132f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4079231 133f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 134f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // RuleBasedCollator.equals(null) throws NullPointerException 135f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 136f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4079231(/* char* par */); 137f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 138f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4081866 139f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 140f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Combining characters in different classes not reordered properly. 141f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 142f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4081866(/* char* par */); 143f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 144f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4087241 145f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 146f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // string comparison errors in Scandinavian collators 147f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 148f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4087241(/* char* par */); 149f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 150f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4087243 151f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 152f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // CollationKey takes ignorable strings into account when it shouldn't 153f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 154f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4087243(/* char* par */); 155f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 156f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4092260 157f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 158f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Mu/micro conflict 159f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Micro symbol and greek lowercase letter Mu should sort identically 160f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 161f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4092260(/* char* par */); 162f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 163f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4095316 164f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 165f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4095316(/* char* par */); 166f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 167f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4101940 168f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 169f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4101940(/* char* par */); 170f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 171f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4103436 172f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 173f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator.compare not handling spaces properly 174f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 175f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4103436(/* char* par */); 176f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 177f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4114076 178f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 179f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collation not Unicode conformant with Hangul syllables 180f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 181f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4114076(/* char* par */); 182f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 183f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 184f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4114077 185f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 186f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collation with decomposition off doesn't work for Europe 187f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 188f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4114077(/* char* par */); 189f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 190f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4124632 191f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 192f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Collator.getCollationKey was hanging on certain character sequences 193f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 194f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4124632(/* char* par */); 195f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 196f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4132736 197f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 198f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // sort order of french words with multiple accents has errors 199f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 200f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4132736(/* char* par */); 201f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 202f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4133509 203f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 204f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // The sorting using java.text.CollationKey is not in the exact order 205f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 206f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4133509(/* char* par */); 207f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 208f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4139572 209f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 210f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // getCollationKey throws exception for spanish text 211f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Cannot reproduce this bug on 1.2, however it DOES fail on 1.1.6 212f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 213f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4139572(/* char* par */); 214f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 215f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4141640 216f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 217f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Support for Swedish gone in 1.1.6 (Can't create Swedish collator) 218f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 219f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4141640(/* char* par */); 220f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 221f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // @bug 4146160 222f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 223f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // RuleBasedCollator doesn't use getCollationElementIterator internally 224f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 225f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void Test4146160(/* char* par */); 226f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 227f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Ticket 7189 228f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 229f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // nextSortKeyPart incorrect for EO_S1 collation 230f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void TestT7189(); 231f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 232f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)private: 233f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) //------------------------------------------------------------------------ 234f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // Internal utilities 235f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) // 236f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void compareArray(Collator &c, 237f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) const UChar tests[][CollationRegressionTest::MAX_TOKEN_LEN], 238f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) int32_t testCount); 239f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 240f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) void assertEqual(CollationElementIterator &i1, CollationElementIterator &i2); 241f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 242f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 243f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) RuleBasedCollator *en_us; 244f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 245f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}; 246f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 247f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#endif /* #if !UCONFIG_NO_COLLATION */ 248f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles) 249f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#endif 250