• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /********************************************************************
2  * COPYRIGHT:
3  * Copyright (c) 2005-2010, International Business Machines Corporation and
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  */
25 class UTextTest : public IntlTest {
26 public:
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();
34     void Ticket5560();
35     void Ticket6847();
36     void ComparisonTest();
37 
38 private:
39     struct m {                              // Map between native indices & code points.
40         int         nativeIdx;
41         UChar32     cp;
42     };
43 
44     void TestString(const UnicodeString &s);
45     void TestAccess(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
46     void TestAccessNoClone(const UnicodeString &us, UText *ut, int cpCount, m *cpMap);
47     void TestCMR   (const UnicodeString &us, UText *ut, int cpCount, m *nativeMap, m *utf16Map);
48     void TestCopyMove(const UnicodeString &us, UText *ut, UBool move,
49                       int32_t nativeStart, int32_t nativeLimit, int32_t nativeDest,
50                       int32_t u16Start, int32_t u16Limit, int32_t u16Dest);
51     void TestReplace(const UnicodeString &us,  // reference UnicodeString in which to do the replace
52             UText         *ut,                 // UnicodeText object under test.
53             int32_t       nativeStart,         // Range to be replaced, in UText native units.
54             int32_t       nativeLimit,
55             int32_t       u16Start,            // Range to be replaced, in UTF-16 units
56             int32_t       u16Limit,            //    for use in the reference UnicodeString.
57             const UnicodeString &repStr);      // The replacement string
58 
59 
60 };
61 
62 
63 #endif
64