Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / icu / source / test / intltest / regextst.h
1 /********************************************************************
2  * COPYRIGHT:
3  * Copyright (c) 2002-2012, International Business Machines Corporation and
4  * others. All Rights Reserved.
5  ********************************************************************/
6
7
8 #ifndef REGEXTST_H
9 #define REGEXTST_H
10
11 #include "unicode/utypes.h"
12 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
13
14 #include "intltest.h"
15
16 struct UText;
17 typedef struct UText UText;
18
19 class RegexTest: public IntlTest {
20 public:
21
22     RegexTest();
23     virtual ~RegexTest();
24
25     virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
26
27     // The following are test functions that are visible from the intltest test framework.
28     virtual void API_Match();
29     virtual void API_Pattern();
30     virtual void API_Replace();
31     virtual void Basic();
32     virtual void Extended();
33     virtual void Errors();
34     virtual void PerlTests();
35     virtual void Bug6149();
36     virtual void Callbacks();
37     virtual void FindProgressCallbacks();
38     virtual void UTextBasic();
39     virtual void API_Match_UTF8();
40     virtual void API_Pattern_UTF8();
41     virtual void API_Replace_UTF8();
42     virtual void PerlTestsUTF8();
43     virtual void PreAllocatedUTextCAPI();
44     virtual void Bug7651();
45     virtual void Bug7740();
46     virtual void Bug8479();
47     virtual void Bug7029();
48     virtual void Bug9283();
49     virtual void CheckInvBufSize();
50     virtual void TestBug11371();
51     
52     // The following functions are internal to the regexp tests.
53     virtual void assertUText(const char *expected, UText *actual, const char *file, int line);
54     virtual void assertUTextInvariant(const char *invariant, UText *actual, const char *file, int line);
55     virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int32_t line);
56     virtual UBool doRegexLMTestUTF8(const char *pat, const char *text, UBool looking, UBool match, int32_t line);
57     virtual void regex_find(const UnicodeString &pat, const UnicodeString &flags,
58                             const UnicodeString &input, const char *srcPath, int32_t line);
59     virtual void regex_err(const char *pat, int32_t errline, int32_t errcol,
60                             UErrorCode expectedStatus, int32_t line);
61     virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, const char *charset, UErrorCode &status);
62     virtual const char *getPath(char buffer[2048], const char *filename);
63
64     static const char* extractToAssertBuf(const UnicodeString& message);
65     
66 };
67
68 #endif   // !UCONFIG_NO_REGULAR_EXPRESSIONS
69 #endif