9
9
var sampleKeys = []string {
10
10
"/ab/c" ,
11
11
"/ab/cd" ,
12
+ "/ab/ef" ,
13
+ "/ab/fg" ,
12
14
"/a" ,
13
15
"/abce" ,
14
16
"/abcf" ,
@@ -60,8 +62,8 @@ func TestNaiveQueryApply(t *testing.T) {
60
62
61
63
q = Query {Offset : 3 , Limit : 2 }
62
64
testNaiveQueryApply (t , q , sampleKeys , []string {
63
- "/abce " ,
64
- "/abcf " ,
65
+ "/ab/fg " ,
66
+ "/a " ,
65
67
})
66
68
67
69
f := & FilterKeyCompare {Op : Equal , Key : "/ab" }
@@ -74,31 +76,37 @@ func TestNaiveQueryApply(t *testing.T) {
74
76
testNaiveQueryApply (t , q , sampleKeys , []string {
75
77
"/ab/c" ,
76
78
"/ab/cd" ,
79
+ "/ab/ef" ,
80
+ "/ab/fg" ,
77
81
})
78
82
79
83
q = Query {Orders : []Order {OrderByKeyDescending {}}}
80
84
testNaiveQueryApply (t , q , sampleKeys , []string {
81
85
"/abcf" ,
82
86
"/abce" ,
87
+ "/ab/fg" ,
88
+ "/ab/ef" ,
83
89
"/ab/cd" ,
84
90
"/ab/c" ,
85
91
"/ab" ,
86
92
"/a" ,
87
93
})
88
94
89
95
q = Query {
90
- Limit : 3 ,
96
+ Limit : 2 ,
91
97
Offset : 1 ,
92
98
Prefix : "/ab" ,
93
99
Orders : []Order {OrderByKey {}},
94
100
}
95
101
testNaiveQueryApply (t , q , sampleKeys , []string {
96
102
"/ab/cd" ,
103
+ "/ab/ef" ,
97
104
})
98
105
}
99
106
100
107
func TestLimit (t * testing.T ) {
101
108
testKeyLimit := func (t * testing.T , limit int , keys []string , expect []string ) {
109
+ t .Helper ()
102
110
e := make ([]Entry , len (keys ))
103
111
for i , k := range keys {
104
112
e [i ] = Entry {Key : k }
@@ -112,6 +120,8 @@ func TestLimit(t *testing.T) {
112
120
testKeyLimit (t , 0 , sampleKeys , []string { // none
113
121
"/ab/c" ,
114
122
"/ab/cd" ,
123
+ "/ab/ef" ,
124
+ "/ab/fg" ,
115
125
"/a" ,
116
126
"/abce" ,
117
127
"/abcf" ,
@@ -121,6 +131,8 @@ func TestLimit(t *testing.T) {
121
131
testKeyLimit (t , 10 , sampleKeys , []string { // large
122
132
"/ab/c" ,
123
133
"/ab/cd" ,
134
+ "/ab/ef" ,
135
+ "/ab/fg" ,
124
136
"/a" ,
125
137
"/abce" ,
126
138
"/abcf" ,
@@ -136,6 +148,7 @@ func TestLimit(t *testing.T) {
136
148
func TestOffset (t * testing.T ) {
137
149
138
150
testOffset := func (t * testing.T , offset int , keys []string , expect []string ) {
151
+ t .Helper ()
139
152
e := make ([]Entry , len (keys ))
140
153
for i , k := range keys {
141
154
e [i ] = Entry {Key : k }
@@ -149,6 +162,8 @@ func TestOffset(t *testing.T) {
149
162
testOffset (t , 0 , sampleKeys , []string { // none
150
163
"/ab/c" ,
151
164
"/ab/cd" ,
165
+ "/ab/ef" ,
166
+ "/ab/fg" ,
152
167
"/a" ,
153
168
"/abce" ,
154
169
"/abcf" ,
@@ -159,6 +174,8 @@ func TestOffset(t *testing.T) {
159
174
})
160
175
161
176
testOffset (t , 2 , sampleKeys , []string {
177
+ "/ab/ef" ,
178
+ "/ab/fg" ,
162
179
"/a" ,
163
180
"/abce" ,
164
181
"/abcf" ,
0 commit comments