@@ -248,3 +248,65 @@ func getKeysViaChan(rs Results) []string {
248
248
}
249
249
return ret
250
250
}
251
+
252
+ func TestStringer (t * testing.T ) {
253
+ q := Query {}
254
+
255
+ expected := `SELECT keys,vals`
256
+ actual := q .String ()
257
+ if actual != expected {
258
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
259
+ }
260
+
261
+ q .Offset = 10
262
+ q .Limit = 10
263
+ expected = `SELECT keys,vals OFFSET 10 LIMIT 10`
264
+ actual = q .String ()
265
+ if actual != expected {
266
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
267
+ }
268
+
269
+ q .Orders = []Order {OrderByValue {}, OrderByKey {}}
270
+ expected = `SELECT keys,vals ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
271
+ actual = q .String ()
272
+ if actual != expected {
273
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
274
+ }
275
+
276
+ q .Filters = []Filter {
277
+ FilterKeyCompare {Op : GreaterThan , Key : "/foo/bar" },
278
+ FilterKeyCompare {Op : LessThan , Key : "/foo/bar" },
279
+ }
280
+ expected = `SELECT keys,vals FILTER [KEY > "/foo/bar", KEY < "/foo/bar"] ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
281
+ actual = q .String ()
282
+ if actual != expected {
283
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
284
+ }
285
+
286
+ q .Prefix = "/foo"
287
+ expected = `SELECT keys,vals FROM "/foo" FILTER [KEY > "/foo/bar", KEY < "/foo/bar"] ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
288
+ actual = q .String ()
289
+ if actual != expected {
290
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
291
+ }
292
+
293
+ q .ReturnExpirations = true
294
+ expected = `SELECT keys,vals,exps FROM "/foo" FILTER [KEY > "/foo/bar", KEY < "/foo/bar"] ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
295
+ actual = q .String ()
296
+ if actual != expected {
297
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
298
+ }
299
+
300
+ q .KeysOnly = true
301
+ expected = `SELECT keys,exps FROM "/foo" FILTER [KEY > "/foo/bar", KEY < "/foo/bar"] ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
302
+ actual = q .String ()
303
+ if actual != expected {
304
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
305
+ }
306
+ q .ReturnExpirations = false
307
+ expected = `SELECT keys FROM "/foo" FILTER [KEY > "/foo/bar", KEY < "/foo/bar"] ORDER [VALUE, KEY] OFFSET 10 LIMIT 10`
308
+ actual = q .String ()
309
+ if actual != expected {
310
+ t .Fatalf ("expected\n \t %s\n got\n \t %s" , expected , actual )
311
+ }
312
+ }
0 commit comments