1/******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 2002-2013, 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 16struct UText; 17typedef struct UText UText; 18 19class RegexTest: public IntlTest { 20public: 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 Bug10459(); 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 70