@@ -118,7 +118,6 @@ const RegexCase regex_cases_utf[] = {
118
118
{ u8" [\\\U0001F600 ]+" , u8" \U0001F600 " , TSM_OK },
119
119
{ u8" [\\\U0001F600 ]+" , u8" \U0001F600\U0001F600\U0001F600 " , TSM_OK },
120
120
{ u8" [\\\U0001F600 ]+" , " a" , TSM_FAIL },
121
-
122
121
};
123
122
124
123
INSTANTIATE_TEST_SUITE_P (RegexTestInstantiation_UTF,
@@ -140,7 +139,7 @@ INSTANTIATE_TEST_SUITE_P(RegexTestInstantiation_Escaped,
140
139
// https://github.com/python/cpython/blob/main/Lib/test/re_tests.py
141
140
const RegexCase regex_cases_python[] = {
142
141
// { ")", "", TSM_SYNTAX_ERROR }, // () operator does not supported yet.
143
- // { "", "", TSM_OK }, // this fails somehow
142
+ { " " , " " , TSM_OK },
144
143
{ " abc" , " abc" , TSM_OK },
145
144
{ " abc" , " xbc" , TSM_FAIL },
146
145
{ " abc" , " axc" , TSM_FAIL },
@@ -165,7 +164,7 @@ const RegexCase regex_cases_python[] = {
165
164
{ " ^abc$" , " aabc" , TSM_FAIL },
166
165
{ " abc$" , " aabc" , TSM_OK },
167
166
{ " ^" , " abc" , TSM_OK },
168
- // { "$", "abc", TSM_OK }, // This fails somehow
167
+ // { "$", "abc", TSM_OK }, // fail
169
168
{ " a.c" , " abc" , TSM_OK },
170
169
{ " a.c" , " axc" , TSM_OK },
171
170
{ " a.*c" , " axyzc" , TSM_OK },
@@ -197,7 +196,7 @@ const RegexCase regex_cases_python[] = {
197
196
{ " a+b+c" , " aabbabc" , TSM_OK },
198
197
{ " [^ab]*" , " cde" , TSM_OK },
199
198
{ " abc" , " " , TSM_FAIL },
200
- // { "a*", "", TSM_OK }, // This fails somehow
199
+ { " a*" , " " , TSM_OK },
201
200
{ " abcd*efg" , " abcdefg" , TSM_OK },
202
201
{ " ab*" , " xabyabbbz" , TSM_OK },
203
202
{ " ab*" , " xayabbbz" , TSM_OK },
@@ -214,14 +213,29 @@ const RegexCase regex_cases_python[] = {
214
213
{ " \\ D+" , " 1234abc5678" , TSM_OK },
215
214
{ " [\\ D+]" , " 1234abc5678" , TSM_OK },
216
215
{ " [\\ da-fA-F]+" , " 123abc" , TSM_OK },
217
- // TODO: add more tese cases
216
+ // TODO: add more test cases
218
217
// { "", "", TSM_OK },
219
218
};
220
219
221
220
INSTANTIATE_TEST_SUITE_P (RegexTestInstantiation_Python,
222
221
RegexTest,
223
222
::testing::ValuesIn (regex_cases_python));
224
223
224
+ // Original test cases.
225
+ const RegexCase regex_cases_tsm[] = {
226
+ { " ^[a-zA-Z_][z-zA-Z0-9_]*" , " a" , TSM_OK },
227
+ { " ^[a-zA-Z_][z-zA-Z0-9_]*" , " abcd1234_" , TSM_OK },
228
+ { " ^[a-zA-Z_][z-zA-Z0-9_]*" , " 1" , TSM_FAIL },
229
+ { " ^[a-zA-Z_][z-zA-Z0-9_]*" , " 1bcd1234_" , TSM_FAIL },
230
+ { " ." , " " , TSM_FAIL },
231
+ { " ^.$" , " " , TSM_FAIL },
232
+ { " .*" , " " , TSM_OK },
233
+ };
234
+
235
+ INSTANTIATE_TEST_SUITE_P (RegexTestInstantiation_Tsm,
236
+ RegexTest,
237
+ ::testing::ValuesIn (regex_cases_tsm));
238
+
225
239
TEST_P (RegexTest, tsm_regex_match) {
226
240
const RegexCase test_case = GetParam ();
227
241
int actual = tsm_regex_match (test_case.pattern , test_case.str );
0 commit comments