regextst.h revision b0ac937921a2c196d8b9da665135bf6ba01a1ccf
1/********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 2002-2008, 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
17class RegexTest: public IntlTest {
18public:
19
20    RegexTest();
21    virtual ~RegexTest();
22
23    virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
24
25    // The following are test functions that are visible from the intltest test framework.
26    virtual void API_Match();
27    virtual void API_Pattern();
28    virtual void API_Replace();
29    virtual void Basic();
30    virtual void Extended();
31    virtual void Errors();
32    virtual void PerlTests();
33    virtual void Bug6149();
34    virtual void Callbacks();
35
36    // The following functions are internal to the regexp tests.
37    virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int32_t line);
38    virtual void regex_find(const UnicodeString &pat, const UnicodeString &flags,
39        const UnicodeString &input, int32_t line);
40    virtual void regex_err(const char *pat, int32_t errline, int32_t errcol,
41                            UErrorCode expectedStatus, int32_t line);
42    virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, const char *charset, UErrorCode &status);
43    virtual const char *getPath(char buffer[2048], const char *filename);
44
45};
46
47#endif   // !UCONFIG_NO_REGULAR_EXPRESSIONS
48#endif
49