1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 2002-2015, 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 NamedCapture(); 45 virtual void NamedCaptureLimits(); 46 virtual void Bug7651(); 47 virtual void Bug7740(); 48 virtual void Bug8479(); 49 virtual void Bug7029(); 50 virtual void Bug9283(); 51 virtual void CheckInvBufSize(); 52 virtual void Bug10459(); 53 virtual void TestCaseInsensitiveStarters(); 54 virtual void TestBug11049(); 55 virtual void TestBug11371(); 56 virtual void TestBug11480(); 57 58 // The following functions are internal to the regexp tests. 59 virtual void assertUText(const char *expected, UText *actual, const char *file, int line); 60 virtual void assertUTextInvariant(const char *invariant, UText *actual, const char *file, int line); 61 virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int32_t line); 62 virtual UBool doRegexLMTestUTF8(const char *pat, const char *text, UBool looking, UBool match, int32_t line); 63 virtual void regex_find(const UnicodeString &pat, const UnicodeString &flags, 64 const UnicodeString &input, const char *srcPath, int32_t line); 65 virtual void regex_err(const char *pat, int32_t errline, int32_t errcol, 66 UErrorCode expectedStatus, int32_t line); 67 virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, const char *charset, UErrorCode &status); 68 virtual const char *getPath(char buffer[2048], const char *filename); 69 70 virtual void TestCase11049(const char *pattern, const char *data, UBool expectMatch, int32_t lineNumber); 71 72 static const char* extractToAssertBuf(const UnicodeString& message); 73 74 }; 75 76 #endif // !UCONFIG_NO_REGULAR_EXPRESSIONS 77 #endif 78