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}