1 // © 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /******************************************************************** 4 * COPYRIGHT: 5 * Copyright (c) 2002-2015, International Business Machines Corporation and 6 * others. All Rights Reserved. 7 ********************************************************************/ 8 9 10 #ifndef REGEXTST_H 11 #define REGEXTST_H 12 13 #include "unicode/utypes.h" 14 #if !UCONFIG_NO_REGULAR_EXPRESSIONS 15 16 #include "intltest.h" 17 18 struct UText; 19 typedef struct UText UText; 20 21 class RegexTest: public IntlTest { 22 public: 23 24 RegexTest(); 25 virtual ~RegexTest(); 26 27 virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL ); 28 29 // The following are test functions that are visible from the intltest test framework. 30 virtual void API_Match(); 31 virtual void API_Pattern(); 32 virtual void API_Replace(); 33 virtual void Basic(); 34 virtual void Extended(); 35 virtual void Errors(); 36 virtual void PerlTests(); 37 virtual void Bug6149(); 38 virtual void Callbacks(); 39 virtual void FindProgressCallbacks(); 40 virtual void UTextBasic(); 41 virtual void API_Match_UTF8(); 42 virtual void API_Pattern_UTF8(); 43 virtual void API_Replace_UTF8(); 44 virtual void PerlTestsUTF8(); 45 virtual void PreAllocatedUTextCAPI(); 46 virtual void NamedCapture(); 47 virtual void NamedCaptureLimits(); 48 virtual void Bug7651(); 49 virtual void Bug7740(); 50 virtual void Bug8479(); 51 virtual void Bug7029(); 52 virtual void Bug9283(); 53 virtual void CheckInvBufSize(); 54 virtual void Bug10459(); 55 virtual void TestCaseInsensitiveStarters(); 56 virtual void TestBug11049(); 57 virtual void TestBug11371(); 58 virtual void TestBug11480(); 59 virtual void TestBug12884(); 60 virtual void TestBug13631(); 61 virtual void TestBug13632(); 62 63 // The following functions are internal to the regexp tests. 64 virtual void assertUText(const char *expected, UText *actual, const char *file, int line); 65 virtual void assertUTextInvariant(const char *invariant, UText *actual, const char *file, int line); 66 virtual UBool doRegexLMTest(const char *pat, const char *text, UBool looking, UBool match, int32_t line); 67 virtual UBool doRegexLMTestUTF8(const char *pat, const char *text, UBool looking, UBool match, int32_t line); 68 virtual void regex_find(const UnicodeString &pat, const UnicodeString &flags, 69 const UnicodeString &input, const char *srcPath, int32_t line); 70 virtual void regex_err(const char *pat, int32_t errline, int32_t errcol, 71 UErrorCode expectedStatus, int32_t line); 72 virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, const char *charset, UErrorCode &status); 73 virtual const char *getPath(char buffer[2048], const char *filename); 74 75 virtual void TestCase11049(const char *pattern, const char *data, UBool expectMatch, int32_t lineNumber); 76 77 static const char* extractToAssertBuf(const UnicodeString& message); 78 79 }; 80 81 #endif // !UCONFIG_NO_REGULAR_EXPRESSIONS 82 #endif 83