]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/intltest/utxttest.h
ICU-551.51.4.tar.gz
[apple/icu.git] / icuSources / test / intltest / utxttest.h
CommitLineData
73c04bcf
A
1/********************************************************************
2 * COPYRIGHT:
b331163b 3 * Copyright (c) 2005-2014, International Business Machines Corporation and
73c04bcf
A
4 * others. All Rights Reserved.
5 ********************************************************************/
6/************************************************************************
7* Tests for the UText and UTextIterator text abstraction classses
8*
9************************************************************************/
10
11
12#ifndef UTXTTEST_H
13#define UTXTTEST_H
14
15#include "unicode/utypes.h"
16#include "unicode/unistr.h"
17#include "unicode/utext.h"
18
19#include "intltest.h"
20
21/**
22 * @test
23 * @summary Testing the Replaceable class
24 */
25class UTextTest : public IntlTest {
26public:
27 UTextTest();
28 virtual ~UTextTest();
29
30 void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=NULL);
31 void TextTest();
32 void ErrorTest();
33 void FreezeTest();
46f4442e
A
34 void Ticket5560();
35 void Ticket6847();
57a6839d 36 void Ticket10562();
b331163b 37 void Ticket10983();
73c04bcf
A
38
39private:
40 struct m { // Map between native indices & code points.
41 int nativeIdx;
42 UChar32 cp;
43 };
44
45 void TestString(const UnicodeString &s);
46 void TestAccess(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
46f4442e 47 void TestAccessNoClone(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
73c04bcf
A
48 void TestCMR (const UnicodeString &us, UText *ut, int cpCount, m *nativeMap, m *utf16Map);
49 void TestCopyMove(const UnicodeString &us, UText *ut, UBool move,
46f4442e
A
50 int32_t nativeStart, int32_t nativeLimit, int32_t nativeDest,
51 int32_t u16Start, int32_t u16Limit, int32_t u16Dest);
73c04bcf
A
52 void TestReplace(const UnicodeString &us, // reference UnicodeString in which to do the replace
53 UText *ut, // UnicodeText object under test.
54 int32_t nativeStart, // Range to be replaced, in UText native units.
55 int32_t nativeLimit,
56 int32_t u16Start, // Range to be replaced, in UTF-16 units
57 int32_t u16Limit, // for use in the reference UnicodeString.
58 const UnicodeString &repStr); // The replacement string
59
60
61};
62
63
64#endif