irc: add isHighlight tests
This commit is contained in:
parent
1a56b2f658
commit
6033725eca
34
irc_test.go
Normal file
34
irc_test.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package soju
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIsHighlight(t *testing.T) {
|
||||||
|
nick := "SojuUser"
|
||||||
|
testCases := []struct {
|
||||||
|
name string
|
||||||
|
text string
|
||||||
|
hl bool
|
||||||
|
}{
|
||||||
|
{"noContains", "hi there Soju User!", false},
|
||||||
|
{"middle", "hi there SojuUser!", true},
|
||||||
|
{"start", "SojuUser: how are you doing?", true},
|
||||||
|
{"end", "maybe ask SojuUser", true},
|
||||||
|
{"inWord", "but OtherSojuUserSan is a different nick", false},
|
||||||
|
{"startWord", "and OtherSojuUser is another different nick", false},
|
||||||
|
{"endWord", "and SojuUserSan is yet a different nick", false},
|
||||||
|
{"underscore", "and SojuUser_san has nothing to do with me", false},
|
||||||
|
{"zeroWidthSpace", "writing S\u200BojuUser shouldn't trigger a highlight", false},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range testCases {
|
||||||
|
tc := tc // capture range variable
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
hl := isHighlight(tc.text, nick)
|
||||||
|
if hl != tc.hl {
|
||||||
|
t.Errorf("isHighlight(%q, %q) = %v, but want %v", tc.text, nick, hl, tc.hl)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user