| Index: icu46/source/test/intltest/transtst.h
|
| ===================================================================
|
| --- icu46/source/test/intltest/transtst.h (revision 0)
|
| +++ icu46/source/test/intltest/transtst.h (revision 0)
|
| @@ -0,0 +1,427 @@
|
| +/*
|
| +**********************************************************************
|
| +* Copyright (C) 1999-2009, International Business Machines
|
| +* Corporation and others. All Rights Reserved.
|
| +**********************************************************************
|
| +* Date Name Description
|
| +* 11/10/99 aliu Creation.
|
| +**********************************************************************
|
| +*/
|
| +#ifndef TRANSTST_H
|
| +#define TRANSTST_H
|
| +
|
| +#include "unicode/utypes.h"
|
| +
|
| +#if !UCONFIG_NO_TRANSLITERATION
|
| +
|
| +#include "unicode/translit.h"
|
| +#include "intltest.h"
|
| +
|
| +/**
|
| + * @test
|
| + * @summary General test of Transliterator
|
| + */
|
| +class TransliteratorTest : public IntlTest {
|
| +
|
| +public:
|
| + TransliteratorTest();
|
| + virtual ~TransliteratorTest();
|
| +
|
| +private:
|
| + void runIndexedTest(int32_t index, UBool exec, const char* &name,
|
| + char* par=NULL);
|
| +
|
| + void TestInstantiation(void);
|
| +
|
| + void TestSimpleRules(void);
|
| +
|
| + void TestInlineSet(void);
|
| +
|
| + void TestAnchors(void);
|
| +
|
| + void TestPatternQuoting(void);
|
| +
|
| + /**
|
| + * Create some inverses and confirm that they work. We have to be
|
| + * careful how we do this, since the inverses will not be true
|
| + * inverses -- we can't throw any random string at the composition
|
| + * of the transliterators and expect the identity function. F x
|
| + * F' != I. However, if we are careful about the input, we will
|
| + * get the expected results.
|
| + */
|
| + void TestRuleBasedInverse(void);
|
| +
|
| + /**
|
| + * Basic test of keyboard.
|
| + */
|
| + void TestKeyboard(void);
|
| +
|
| + /**
|
| + * Basic test of keyboard with cursor.
|
| + */
|
| + void TestKeyboard2(void);
|
| +
|
| + /**
|
| + * Test keyboard transliteration with back-replacement.
|
| + */
|
| + void TestKeyboard3(void);
|
| +
|
| + void keyboardAux(const Transliterator& t,
|
| + const char* DATA[], int32_t DATA_length);
|
| +
|
| + void TestArabic(void);
|
| +
|
| + /**
|
| + * Compose the Kana transliterator forward and reverse and try
|
| + * some strings that should come out unchanged.
|
| + */
|
| + void TestCompoundKana(void);
|
| +
|
| + /**
|
| + * Compose the hex transliterators forward and reverse.
|
| + */
|
| + void TestCompoundHex(void);
|
| +
|
| + /**
|
| + * Do some basic tests of filtering.
|
| + */
|
| + void TestFiltering(void);
|
| +
|
| + /**
|
| + * Regression test for bugs found in Greek transliteration.
|
| + */
|
| + void TestJ277(void);
|
| +
|
| + /**
|
| + * Prefix, suffix support in hex transliterators.
|
| + */
|
| + void TestJ243(void);
|
| +
|
| + /**
|
| + * Parsers need better syntax error messages.
|
| + */
|
| + void TestJ329(void);
|
| +
|
| + /**
|
| + * Test segments and segment references.
|
| + */
|
| + void TestSegments(void);
|
| +
|
| + /**
|
| + * Test cursor positioning outside of the key
|
| + */
|
| + void TestCursorOffset(void);
|
| +
|
| + /**
|
| + * Test zero length and > 1 char length variable values. Test
|
| + * use of variable refs in UnicodeSets.
|
| + */
|
| + void TestArbitraryVariableValues(void);
|
| +
|
| + /**
|
| + * Confirm that the contextStart, contextLimit, start, and limit
|
| + * behave correctly. J474.
|
| + */
|
| + void TestPositionHandling(void);
|
| +
|
| + /**
|
| + * Test the Hiragana-Katakana transliterator.
|
| + */
|
| + void TestHiraganaKatakana(void);
|
| +
|
| + /**
|
| + * Test cloning / copy constructor of RBT.
|
| + */
|
| + void TestCopyJ476(void);
|
| +
|
| + /**
|
| + * Test inter-Indic transliterators. These are composed.
|
| + * ICU4C Jitterbug 483.
|
| + */
|
| + void TestInterIndic(void);
|
| +
|
| + /**
|
| + * Test filter syntax in IDs. (J918)
|
| + */
|
| + void TestFilterIDs(void);
|
| +
|
| + /**
|
| + * Test the case mapping transliterators.
|
| + */
|
| + void TestCaseMap(void);
|
| +
|
| + /**
|
| + * Test the name mapping transliterators.
|
| + */
|
| + void TestNameMap(void);
|
| +
|
| + /**
|
| + * Test liberalized ID syntax. 1006c
|
| + */
|
| + void TestLiberalizedID(void);
|
| + /**
|
| + * Test Jitterbug 912
|
| + */
|
| + void TestCreateInstance(void);
|
| +
|
| + void TestNormalizationTransliterator(void);
|
| +
|
| + void TestCompoundRBT(void);
|
| +
|
| + void TestCompoundFilter(void);
|
| +
|
| + void TestRemove(void);
|
| +
|
| + void TestToRules(void);
|
| +
|
| + void TestContext(void);
|
| +
|
| + void TestSupplemental(void);
|
| +
|
| + void TestQuantifier(void);
|
| +
|
| + /**
|
| + * Test Source-Target/Variant.
|
| + */
|
| + void TestSTV(void);
|
| +
|
| + void TestCompoundInverse(void);
|
| +
|
| + void TestNFDChainRBT(void);
|
| +
|
| + /**
|
| + * Inverse of "Null" should be "Null". (J21)
|
| + */
|
| + void TestNullInverse(void);
|
| +
|
| + /**
|
| + * Check ID of inverse of alias. (J22)
|
| + */
|
| + void TestAliasInverseID(void);
|
| +
|
| + /**
|
| + * Test IDs of inverses of compound transliterators. (J20)
|
| + */
|
| + void TestCompoundInverseID(void);
|
| +
|
| + /**
|
| + * Test undefined variable.
|
| + */
|
| + void TestUndefinedVariable(void);
|
| +
|
| + /**
|
| + * Test empty context.
|
| + */
|
| + void TestEmptyContext(void);
|
| +
|
| + /**
|
| + * Test compound filter ID syntax
|
| + */
|
| + void TestCompoundFilterID(void);
|
| +
|
| + /**
|
| + * Test new property set syntax
|
| + */
|
| + void TestPropertySet(void);
|
| +
|
| + /**
|
| + * Test various failure points of the new 2.0 engine.
|
| + */
|
| + void TestNewEngine(void);
|
| +
|
| + /**
|
| + * Test quantified segment behavior. We want:
|
| + * ([abc])+ > x $1 x; applied to "cba" produces "xax"
|
| + */
|
| + void TestQuantifiedSegment(void);
|
| +
|
| + /* Devanagari-Latin rules Test */
|
| + void TestDevanagariLatinRT(void);
|
| +
|
| + /* Telugu-Latin rules Test */
|
| + void TestTeluguLatinRT(void);
|
| +
|
| + /* Gujarati-Latin rules Test */
|
| + void TestGujaratiLatinRT(void);
|
| +
|
| + /* Sanskrit-Latin rules Test */
|
| + void TestSanskritLatinRT(void);
|
| +
|
| + /* Test Compound Indic-Latin transliterators*/
|
| + void TestCompoundLatinRT(void);
|
| +
|
| + /* Test bindi and tippi for Gurmukhi */
|
| + void TestGurmukhiDevanagari(void);
|
| + /**
|
| + * Test instantiation from a locale.
|
| + */
|
| + void TestLocaleInstantiation(void);
|
| +
|
| + /**
|
| + * Test title case handling of accent (should ignore accents)
|
| + */
|
| + void TestTitleAccents(void);
|
| +
|
| + /**
|
| + * Basic test of a locale resource based rule.
|
| + */
|
| + void TestLocaleResource(void);
|
| +
|
| + /**
|
| + * Make sure parse errors reference the right line.
|
| + */
|
| + void TestParseError(void);
|
| +
|
| + /**
|
| + * Make sure sets on output are disallowed.
|
| + */
|
| + void TestOutputSet(void);
|
| +
|
| + /**
|
| + * Test the use variable range pragma, making sure that use of
|
| + * variable range characters is detected and flagged as an error.
|
| + */
|
| + void TestVariableRange(void);
|
| +
|
| + /**
|
| + * Test invalid post context error handling
|
| + */
|
| + void TestInvalidPostContext(void);
|
| +
|
| + /**
|
| + * Test ID form variants
|
| + */
|
| + void TestIDForms(void);
|
| +
|
| + /**
|
| + * Mark's toRules test.
|
| + */
|
| + void TestToRulesMark(void);
|
| +
|
| + /**
|
| + * Test Escape and Unescape transliterators.
|
| + */
|
| + void TestEscape(void);
|
| +
|
| + void TestAnchorMasking(void);
|
| +
|
| + /**
|
| + * Make sure display names of variants look reasonable.
|
| + */
|
| + void TestDisplayName(void);
|
| +
|
| + /**
|
| + * Check to see if case mapping works correctly.
|
| + */
|
| + void TestSpecialCases(void);
|
| + /**
|
| + * Check to see that incremental gets at least part way through a reasonable string.
|
| + */
|
| + void TestIncrementalProgress(void);
|
| +
|
| + /**
|
| + * Check that casing handles surrogates.
|
| + */
|
| + void TestSurrogateCasing (void);
|
| +
|
| + void TestFunction(void);
|
| +
|
| + void TestInvalidBackRef(void);
|
| +
|
| + void TestMulticharStringSet(void);
|
| +
|
| + void TestUserFunction(void);
|
| +
|
| + void TestAnyX(void);
|
| +
|
| + void TestAny(void);
|
| +
|
| + void TestSourceTargetSet(void);
|
| +
|
| + void TestRuleWhitespace(void);
|
| +
|
| + void TestAllCodepoints(void);
|
| +
|
| + void TestBoilerplate(void);
|
| +
|
| + void TestAlternateSyntax(void);
|
| +
|
| + void TestRuleStripping(void);
|
| +
|
| + void TestHalfwidthFullwidth(void);
|
| +
|
| + void TestThai(void);
|
| +
|
| + /**
|
| + * Tests the multiple-pass syntax
|
| + */
|
| + void TestBeginEnd(void);
|
| +
|
| + /**
|
| + * Tests that toRules() works right with the multiple-pass syntax
|
| + */
|
| + void TestBeginEndToRules(void);
|
| +
|
| + /**
|
| + * Tests the registerAlias() function
|
| + */
|
| + void TestRegisterAlias(void);
|
| +
|
| + //======================================================================
|
| + // Support methods
|
| + //======================================================================
|
| + protected:
|
| + void expectT(const UnicodeString& id,
|
| + const UnicodeString& source,
|
| + const UnicodeString& expectedResult);
|
| +
|
| + void expect(const UnicodeString& rules,
|
| + const UnicodeString& source,
|
| + const UnicodeString& expectedResult,
|
| + UTransPosition *pos=0);
|
| +
|
| + void expect(const UnicodeString& id,
|
| + const UnicodeString& rules,
|
| + const UnicodeString& source,
|
| + const UnicodeString& expectedResult,
|
| + UTransPosition *pos=0);
|
| +
|
| + void expect(const Transliterator& t,
|
| + const UnicodeString& source,
|
| + const UnicodeString& expectedResult,
|
| + const Transliterator& reverseTransliterator);
|
| +
|
| + void expect(const Transliterator& t,
|
| + const UnicodeString& source,
|
| + const UnicodeString& expectedResult,
|
| + UTransPosition *pos=0);
|
| +
|
| + void expectAux(const UnicodeString& tag,
|
| + const UnicodeString& source,
|
| + const UnicodeString& result,
|
| + const UnicodeString& expectedResult);
|
| +
|
| + virtual void expectAux(const UnicodeString& tag,
|
| + const UnicodeString& summary, UBool pass,
|
| + const UnicodeString& expectedResult);
|
| +
|
| + static UnicodeString& formatInput(UnicodeString &appendTo,
|
| + const UnicodeString& input,
|
| + const UTransPosition& pos);
|
| +
|
| + void checkRules(const UnicodeString& label, Transliterator& t2,
|
| + const UnicodeString& testRulesForward);
|
| + void CheckIncrementalAux(const Transliterator* t,
|
| + const UnicodeString& input);
|
| +
|
| + void reportParseError(const UnicodeString& message, const UParseError& parseError, const UErrorCode& status);
|
| +
|
| +
|
| + const UnicodeString DESERET_DEE;
|
| + const UnicodeString DESERET_dee;
|
| +
|
| +};
|
| +
|
| +#endif /* #if !UCONFIG_NO_TRANSLITERATION */
|
| +
|
| +#endif
|
|
|
| Property changes on: icu46/source/test/intltest/transtst.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|