diff --git a/bot/mock.go b/bot/mock.go index 193c5ee..89a1bfc 100644 --- a/bot/mock.go +++ b/bot/mock.go @@ -38,6 +38,7 @@ func (mb *MockBot) EventReceived(msg msg.Message) {} func (mb *MockBot) Filter(msg msg.Message, s string) string { return "" } func (mb *MockBot) LastMessage(ch string) (msg.Message, error) { return msg.Message{}, nil } func (mb *MockBot) CheckAdmin(nick string) bool { return false } +func (mb *MockBot) React(string, string, msg.Message) {} func NewMockBot() *MockBot { db, err := sqlx.Open("sqlite3_custom", ":memory:") diff --git a/plugins/counter/counter.go b/plugins/counter/counter.go index cac69d0..ebe51b0 100644 --- a/plugins/counter/counter.go +++ b/plugins/counter/counter.go @@ -136,7 +136,7 @@ func (p *CounterPlugin) Message(message msg.Message) bool { return false } - if tea, _ := regexp.MatchString("(?i)^tea\\. [0-9A-Za-z_ ]*\\. ((hot)|(iced))\\.?$", message.Body); tea { + if tea, _ := regexp.MatchString("(?i)^tea\\. [^.]*\\. ((hot)|(iced))\\.?$", message.Body); tea { item, err := GetItem(p.DB, nick, ":tea:") if err != nil { log.Printf("Error finding item %s.%s: %s.", nick, ":tea:", err) diff --git a/plugins/counter/counter_test.go b/plugins/counter/counter_test.go index b0b233a..868de7b 100644 --- a/plugins/counter/counter_test.go +++ b/plugins/counter/counter_test.go @@ -69,6 +69,15 @@ func TestTeaSkieselQuote(t *testing.T) { assert.Nil(t, err) assert.Equal(t, 0, item.Count) } +func TestTeaUnicodeJapanese(t *testing.T) { + mb := bot.NewMockBot() + c := New(mb) + assert.NotNil(t, c) + c.Message(makeMessage("Tea. ใŠใกใ‚„. Hot.")) + item, err := GetItem(mb.DB(), "tester", ":tea:") + assert.Nil(t, err) + assert.Equal(t, 1, item.Count) +} func TestResetMe(t *testing.T) { mb := bot.NewMockBot()