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		{"actor:bernhard", true},
23		{"participant:leonhard", true},
24
25		{"label:hello", true},
26		{`label:"Good first issue"`, true},
27
28		{"title:titleOne", true},
29		{`title:"Bug titleTwo"`, true},
30
31		{"sort:edit", true},
32		{"sort:unknown", false},
33	}
34
35	for _, test := range tests {
36		_, err := ParseQuery(test.input)
37		if (err == nil) != test.ok {
38			t.Fatalf("Unexpected parse result, expected: %v, err: %v", test.ok, err)
39		}
40	}
41}