Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 2005-2009, 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 
     37 private:
     38     struct m {                              // Map between native indices & code points.
     39         int         nativeIdx;
     40         UChar32     cp;
     41     };
     42 
     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.
     53             int32_t       nativeLimit,
     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
     57 
     58 
     59 };
     60 
     61 
     62 #endif
     63