@@ -204,32 +204,57 @@ func TestFindAllIssueReferences(t *testing.T) {
204
204
}
205
205
206
206
func TestRegExp_mentionPattern (t * testing.T ) {
207
- trueTestCases := []string {
208
- "@Unknwon" ,
209
- "@ANT_123" ,
210
- "@xxx-DiN0-z-A..uru..s-xxx" ,
211
- " @lol " ,
212
- " @Te-st" ,
213
- "(@gitea)" ,
214
- "[@gitea]" ,
207
+ trueTestCases := []struct {
208
+ pat string
209
+ exp string
210
+ }{
211
+ {"@Unknwon" , "@Unknwon" },
212
+ {"@ANT_123" , "@ANT_123" },
213
+ {"@xxx-DiN0-z-A..uru..s-xxx" , "@xxx-DiN0-z-A..uru..s-xxx" },
214
+ {" @lol " , "@lol" },
215
+ {" @Te-st" , "@Te-st" },
216
+ {"(@gitea)" , "@gitea" },
217
+ {"[@gitea]" , "@gitea" },
218
+ {"@gitea! this" , "@gitea" },
219
+ {"@gitea? this" , "@gitea" },
220
+ {"@gitea. this" , "@gitea" },
221
+ {"@gitea, this" , "@gitea" },
222
+ {"@gitea; this" , "@gitea" },
223
+ {"@gitea!\n this" , "@gitea" },
224
+ {"\n @gitea?\n this" , "@gitea" },
225
+ {"\t @gitea.\n this" , "@gitea" },
226
+ {"@gitea,\n this" , "@gitea" },
227
+ {"@gitea;\n this" , "@gitea" },
228
+ {"@gitea!" , "@gitea" },
229
+ {"@gitea?" , "@gitea" },
230
+ {"@gitea." , "@gitea" },
231
+ {"@gitea," , "@gitea" },
232
+ {"@gitea;" , "@gitea" },
215
233
}
216
234
falseTestCases := []string {
217
235
"@ 0" ,
218
236
"@ " ,
219
237
"@" ,
220
238
"" ,
221
239
"ABC" ,
240
+ "@.ABC" ,
222
241
"/home/gitea/@gitea" ,
223
242
"\" @gitea\" " ,
243
+ "@@gitea" ,
244
+ "@gitea!this" ,
245
+ "@gitea?this" ,
246
+ "@gitea,this" ,
247
+ "@gitea;this" ,
224
248
}
225
249
226
250
for _ , testCase := range trueTestCases {
227
- res := mentionPattern .MatchString (testCase )
228
- assert .True (t , res )
251
+ found := mentionPattern .FindStringSubmatch (testCase .pat )
252
+ assert .Len (t , found , 2 )
253
+ assert .Equal (t , testCase .exp , found [1 ])
229
254
}
230
255
for _ , testCase := range falseTestCases {
231
256
res := mentionPattern .MatchString (testCase )
232
- assert .False (t , res )
257
+ assert .False (t , res , "[%s] should be false" , testCase )
233
258
}
234
259
}
235
260
0 commit comments