query_test.go

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