| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 ******************************************************************************* | |
| 3 * | |
| 4 * Copyright (C) 2003-2006, International Business Machines | |
| 5 * Corporation and others. All Rights Reserved. | |
| 6 * | |
| 7 ******************************************************************************* | |
| 8 * file name: testidna.h | |
| 9 * encoding: US-ASCII | |
| 10 * tab size: 8 (not used) | |
| 11 * indentation:4 | |
| 12 * | |
| 13 * created on: 2003feb1 | |
| 14 * created by: Ram Viswanadha | |
| 15 */ | |
| 16 | |
| 17 #ifndef TESTIDNA_H | |
| 18 #define TESTIDNA_H | |
| 19 | |
| 20 #include "unicode/utypes.h" | |
| 21 | |
| 22 #if !UCONFIG_NO_IDNA && !UCONFIG_NO_TRANSLITERATION | |
| 23 | |
| 24 #include "intltest.h" | |
| 25 #include "unicode/parseerr.h" | |
| 26 #include "unicode/uidna.h" | |
| 27 | |
| 28 U_CDECL_BEGIN | |
| 29 typedef int32_t | |
| 30 (U_EXPORT2 *TestFunc) ( const UChar *src, int32_t srcLength, | |
| 31 UChar *dest, int32_t destCapacity, | |
| 32 int32_t options, UParseError *parseError, | |
| 33 UErrorCode *status); | |
| 34 typedef int32_t | |
| 35 (U_EXPORT2 *CompareFunc) (const UChar *s1, int32_t s1Len, | |
| 36 const UChar *s2, int32_t s2Len, | |
| 37 int32_t options, | |
| 38 UErrorCode *status); | |
| 39 | |
| 40 | |
| 41 U_CDECL_END | |
| 42 | |
| 43 // test the API | |
| 44 | |
| 45 class NamePrepTransform; | |
| 46 | |
| 47 /** | |
| 48 * @test | |
| 49 * @summary General test of HexadecimalToUnicodeTransliterator | |
| 50 */ | |
| 51 class TestIDNA : public IntlTest { | |
| 52 public: | |
| 53 void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=
NULL); | |
| 54 void TestDataFile(); | |
| 55 void TestToASCII(); | |
| 56 void TestToUnicode(); | |
| 57 void TestIDNToUnicode(); | |
| 58 void TestIDNToASCII(); | |
| 59 void TestCompare(); | |
| 60 void TestErrorCases(); | |
| 61 void TestChaining(); | |
| 62 void TestRootLabelSeparator(); | |
| 63 void TestCompareReferenceImpl(); | |
| 64 void TestRefIDNA(); | |
| 65 void TestIDNAMonkeyTest(); | |
| 66 void TestConformance(); | |
| 67 static NamePrepTransform* getInstance(UErrorCode& status); | |
| 68 static NamePrepTransform* gPrep; | |
| 69 virtual ~TestIDNA(); | |
| 70 | |
| 71 private: | |
| 72 void testToASCII(const char* testName, TestFunc func); | |
| 73 void testToUnicode(const char* testName, TestFunc func); | |
| 74 void testIDNToUnicode(const char* testName, TestFunc func); | |
| 75 void testIDNToASCII(const char* testName, TestFunc func); | |
| 76 void testCompare(const char* testName, CompareFunc func); | |
| 77 void testChaining(const char* toASCIIName, TestFunc toASCII, | |
| 78 const char* toUnicodeName, TestFunc toUnicode); | |
| 79 void debug(const UChar* src, int32_t srcLength, int32_t options); | |
| 80 // main testing functions | |
| 81 void testAPI(const UChar *src, const UChar *expected, const char *testName, | |
| 82 UBool useSTD3ASCIIRules, UErrorCode expectedStatus, | |
| 83 UBool doCompare, UBool testUnassigned, TestFunc func, UBool testSTD
3ASCIIRules=TRUE); | |
| 84 | |
| 85 void testCompare(const UChar* s1, int32_t s1Len, | |
| 86 const UChar* s2, int32_t s2Len, | |
| 87 const char* testName, CompareFunc func, | |
| 88 UBool isEqual); | |
| 89 | |
| 90 void testErrorCases(const char* IDNToASCIIName, TestFunc IDNToASCII, | |
| 91 const char* IDNToUnicodeName, TestFunc IDNToUnicode); | |
| 92 | |
| 93 void testChaining(const UChar* src,int32_t numIterations,const char* testNam
e, | |
| 94 UBool useSTD3ASCIIRules, UBool caseInsensitive, TestFunc func)
; | |
| 95 | |
| 96 void testRootLabelSeparator(const char* testName, CompareFunc func, | |
| 97 const char* IDNToASCIIName, TestFunc IDNToASCII, | |
| 98 const char* IDNToUnicodeName, TestFunc IDNToUnicode)
; | |
| 99 | |
| 100 void testCompareReferenceImpl(const UChar* src, int32_t srcLen); | |
| 101 | |
| 102 UnicodeString testCompareReferenceImpl(UnicodeString& src, | |
| 103 TestFunc refIDNA, const char* refIDNAName, | |
| 104 TestFunc uIDNA, const char* uIDNAName, | |
| 105 int32_t options); | |
| 106 | |
| 107 void testConformance(const char* toASCIIName, TestFunc toASCII, | |
| 108 const char* IDNToASCIIName, TestFunc IDNToASCII, | |
| 109 const char* IDNToUnicodeName, TestFunc IDNToUnicode, | |
| 110 const char* toUnicodeName, TestFunc toUnicode | |
| 111 ); | |
| 112 | |
| 113 }; | |
| 114 | |
| 115 // test the TRIE data structure | |
| 116 int testData(TestIDNA& test); | |
| 117 | |
| 118 #endif /* #if !UCONFIG_NO_IDNA */ | |
| 119 | |
| 120 #endif | |
| OLD | NEW |