1package clickhouse
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/assert"
7)
8
9type wmTest struct {
10	haystack string
11	needle   string
12	expect   bool
13}
14
15func checkMatch(haystack, needle string) bool {
16	m := newMatcher(needle)
17	for _, r := range []rune(haystack) {
18		if m.matchRune(r) {
19			return true
20		}
21	}
22	return false
23}
24
25func TestWordMatcher(t *testing.T) {
26
27	table := []wmTest{
28		wmTest{"select * from test", "select", true},
29		wmTest{"select * from test", "*", true},
30		wmTest{"select * from test", "elect", true},
31		wmTest{"select * from test", "zelect", false},
32		wmTest{"select * from test", "sElEct", true},
33	}
34
35	for _, test := range table {
36		assert.Equal(t, checkMatch(test.haystack, test.needle), test.expect, test.haystack)
37	}
38
39}
40