1 /********************************************************************
3 * Copyright (c) 2005-2012, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6 /************************************************************************
7 * Tests for the UText and UTextIterator text abstraction classses
9 ************************************************************************/
15 #include "unicode/utypes.h"
16 #include "unicode/unistr.h"
17 #include "unicode/utext.h"
23 * @summary Testing the Replaceable class
25 class UTextTest : public IntlTest {
30 void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=NULL);
38 struct m { // Map between native indices & code points.
43 void TestString(const UnicodeString &s);
44 void TestAccess(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
45 void TestAccessNoClone(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
46 void TestCMR (const UnicodeString &us, UText *ut, int cpCount, m *nativeMap, m *utf16Map);
47 void TestCopyMove(const UnicodeString &us, UText *ut, UBool move,
48 int32_t nativeStart, int32_t nativeLimit, int32_t nativeDest,
49 int32_t u16Start, int32_t u16Limit, int32_t u16Dest);
50 void TestReplace(const UnicodeString &us, // reference UnicodeString in which to do the replace
51 UText *ut, // UnicodeText object under test.
52 int32_t nativeStart, // Range to be replaced, in UText native units.
54 int32_t u16Start, // Range to be replaced, in UTF-16 units
55 int32_t u16Limit, // for use in the reference UnicodeString.
56 const UnicodeString &repStr); // The replacement string