1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /********************************************************************
5 * Copyright (c) 2002-2015, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 ********************************************************************/
13 #include "unicode/utypes.h"
14 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
19 typedef struct UText UText
;
21 class RegexTest
: public IntlTest
{
27 virtual void runIndexedTest(int32_t index
, UBool exec
, const char* &name
, char* par
= NULL
);
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();
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 virtual void TestBug20359();
63 virtual void TestBug20863();
65 // The following functions are internal to the regexp tests.
66 virtual void assertUText(const char *expected
, UText
*actual
, const char *file
, int line
);
67 virtual void assertUTextInvariant(const char *invariant
, UText
*actual
, const char *file
, int line
);
68 virtual UBool
doRegexLMTest(const char *pat
, const char *text
, UBool looking
, UBool match
, int32_t line
);
69 virtual UBool
doRegexLMTestUTF8(const char *pat
, const char *text
, UBool looking
, UBool match
, int32_t line
);
70 virtual void regex_find(const UnicodeString
&pat
, const UnicodeString
&flags
,
71 const UnicodeString
&input
, const char *srcPath
, int32_t line
);
72 virtual void regex_err(const char *pat
, int32_t errline
, int32_t errcol
,
73 UErrorCode expectedStatus
, int32_t line
);
74 virtual UChar
*ReadAndConvertFile(const char *fileName
, int32_t &len
, const char *charset
, UErrorCode
&status
);
75 virtual const char *getPath(char buffer
[2048], const char *filename
);
77 virtual void TestCase11049(const char *pattern
, const char *data
, UBool expectMatch
, int32_t lineNumber
);
79 static const char* extractToAssertBuf(const UnicodeString
& message
);
83 #endif // !UCONFIG_NO_REGULAR_EXPRESSIONS