| Index: icu46/source/test/intltest/testidna.h
|
| ===================================================================
|
| --- icu46/source/test/intltest/testidna.h (revision 0)
|
| +++ icu46/source/test/intltest/testidna.h (revision 0)
|
| @@ -0,0 +1,120 @@
|
| +/*
|
| + *******************************************************************************
|
| + *
|
| + * Copyright (C) 2003-2006, International Business Machines
|
| + * Corporation and others. All Rights Reserved.
|
| + *
|
| + *******************************************************************************
|
| + * file name: testidna.h
|
| + * encoding: US-ASCII
|
| + * tab size: 8 (not used)
|
| + * indentation:4
|
| + *
|
| + * created on: 2003feb1
|
| + * created by: Ram Viswanadha
|
| + */
|
| +
|
| +#ifndef TESTIDNA_H
|
| +#define TESTIDNA_H
|
| +
|
| +#include "unicode/utypes.h"
|
| +
|
| +#if !UCONFIG_NO_IDNA && !UCONFIG_NO_TRANSLITERATION
|
| +
|
| +#include "intltest.h"
|
| +#include "unicode/parseerr.h"
|
| +#include "unicode/uidna.h"
|
| +
|
| +U_CDECL_BEGIN
|
| +typedef int32_t
|
| +(U_EXPORT2 *TestFunc) ( const UChar *src, int32_t srcLength,
|
| + UChar *dest, int32_t destCapacity,
|
| + int32_t options, UParseError *parseError,
|
| + UErrorCode *status);
|
| +typedef int32_t
|
| +(U_EXPORT2 *CompareFunc) (const UChar *s1, int32_t s1Len,
|
| + const UChar *s2, int32_t s2Len,
|
| + int32_t options,
|
| + UErrorCode *status);
|
| +
|
| +
|
| +U_CDECL_END
|
| +
|
| +// test the API
|
| +
|
| +class NamePrepTransform;
|
| +
|
| +/**
|
| + * @test
|
| + * @summary General test of HexadecimalToUnicodeTransliterator
|
| + */
|
| +class TestIDNA : public IntlTest {
|
| +public:
|
| + void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=NULL);
|
| + void TestDataFile();
|
| + void TestToASCII();
|
| + void TestToUnicode();
|
| + void TestIDNToUnicode();
|
| + void TestIDNToASCII();
|
| + void TestCompare();
|
| + void TestErrorCases();
|
| + void TestChaining();
|
| + void TestRootLabelSeparator();
|
| + void TestCompareReferenceImpl();
|
| + void TestRefIDNA();
|
| + void TestIDNAMonkeyTest();
|
| + void TestConformance();
|
| + static NamePrepTransform* getInstance(UErrorCode& status);
|
| + static NamePrepTransform* gPrep;
|
| + virtual ~TestIDNA();
|
| +
|
| +private:
|
| + void testToASCII(const char* testName, TestFunc func);
|
| + void testToUnicode(const char* testName, TestFunc func);
|
| + void testIDNToUnicode(const char* testName, TestFunc func);
|
| + void testIDNToASCII(const char* testName, TestFunc func);
|
| + void testCompare(const char* testName, CompareFunc func);
|
| + void testChaining(const char* toASCIIName, TestFunc toASCII,
|
| + const char* toUnicodeName, TestFunc toUnicode);
|
| + void debug(const UChar* src, int32_t srcLength, int32_t options);
|
| + // main testing functions
|
| + void testAPI(const UChar *src, const UChar *expected, const char *testName,
|
| + UBool useSTD3ASCIIRules, UErrorCode expectedStatus,
|
| + UBool doCompare, UBool testUnassigned, TestFunc func, UBool testSTD3ASCIIRules=TRUE);
|
| +
|
| + void testCompare(const UChar* s1, int32_t s1Len,
|
| + const UChar* s2, int32_t s2Len,
|
| + const char* testName, CompareFunc func,
|
| + UBool isEqual);
|
| +
|
| + void testErrorCases(const char* IDNToASCIIName, TestFunc IDNToASCII,
|
| + const char* IDNToUnicodeName, TestFunc IDNToUnicode);
|
| +
|
| + void testChaining(const UChar* src,int32_t numIterations,const char* testName,
|
| + UBool useSTD3ASCIIRules, UBool caseInsensitive, TestFunc func);
|
| +
|
| + void testRootLabelSeparator(const char* testName, CompareFunc func,
|
| + const char* IDNToASCIIName, TestFunc IDNToASCII,
|
| + const char* IDNToUnicodeName, TestFunc IDNToUnicode);
|
| +
|
| + void testCompareReferenceImpl(const UChar* src, int32_t srcLen);
|
| +
|
| + UnicodeString testCompareReferenceImpl(UnicodeString& src,
|
| + TestFunc refIDNA, const char* refIDNAName,
|
| + TestFunc uIDNA, const char* uIDNAName,
|
| + int32_t options);
|
| +
|
| + void testConformance(const char* toASCIIName, TestFunc toASCII,
|
| + const char* IDNToASCIIName, TestFunc IDNToASCII,
|
| + const char* IDNToUnicodeName, TestFunc IDNToUnicode,
|
| + const char* toUnicodeName, TestFunc toUnicode
|
| + );
|
| +
|
| +};
|
| +
|
| +// test the TRIE data structure
|
| +int testData(TestIDNA& test);
|
| +
|
| +#endif /* #if !UCONFIG_NO_IDNA */
|
| +
|
| +#endif
|
|
|
| Property changes on: icu46/source/test/intltest/testidna.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|