Home | History | Annotate | Download | only in intltest
      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