query_test.go

 1package cache
 2
 3import "testing"
 4
 5func TestQueryParse(t *testing.T) {
 6
 7	var tests = []struct {
 8		input string
 9		ok    bool
10	}{
11		{"gibberish", false},
12
13		{"status:", false},
14
15		{"status:open", true},
16		{"status:closed", true},
17		{"status:unknown", false},
18
19		{"author:rene", true},
20		{`author:"René Descartes"`, true},
21
22		{"label:hello", true},
23		{`label:"Good first issue"`, true},
24
25		{"title:Bug titleOne", true},
26		{`title:"Bug titleTwo"`, true},
27
28		{"sort:edit", true},
29		{"sort:unknown", false},
30	}
31
32	for _, test := range tests {
33		_, err := ParseQuery(test.input)
34		if (err == nil) != test.ok {
35			t.Fatalf("Unexpected parse result, expected: %v, err: %v", test.ok, err)
36		}
37	}
38}