1
1
/*jshint globalstrict:false, strict:false, maxlen: 500 */
2
- /*global assertEqual, assertTrue, assertMatch, AQL_EXPLAIN */
2
+ /*global assertEqual, assertTrue, assertMatch, fail, AQL_EXPLAIN */
3
3
4
4
////////////////////////////////////////////////////////////////////////////////
5
5
/// @brief tests for invalid OPTIONS attributes
@@ -80,6 +80,8 @@ function aqlOptionsVerificationSuite () {
80
80
[ prefix + "{ indexHint: [] } RETURN 1" , "indexHint" ] ,
81
81
[ prefix + "{ waitForSync: true } RETURN 1" , "waitForSync" ] ,
82
82
[ prefix + "{ waitForSync: false } RETURN 1" , "waitForSync" ] ,
83
+ [ prefix + "{ waitForSync: +1 } RETURN 1" , "waitForSync" ] ,
84
+ [ prefix + "{ waitForSync: -1 } RETURN 1" , "waitForSync" ] ,
83
85
[ prefix + "{ method: 'hash' } RETURN 1" , "method" ] ,
84
86
[ prefix + "{ tititi: 'piff' } RETURN 1" , "tititi" ] ,
85
87
] ;
@@ -106,7 +108,19 @@ function aqlOptionsVerificationSuite () {
106
108
[ prefix + "{ tititi: 'piff' } RETURN 1" , "tititi" ] ,
107
109
] ;
108
110
109
- checkQueries ( "FOR" , queries ) ;
111
+ // arangosearch only likes boolean attributes for its waitForSync value
112
+ try {
113
+ AQL_EXPLAIN ( prefix + "{ waitForSync: +1 } RETURN 1" ) ;
114
+ fail ( ) ;
115
+ } catch ( err ) {
116
+ assertEqual ( errors . ERROR_BAD_PARAMETER . code , err . errorNum ) ;
117
+ }
118
+ try {
119
+ AQL_EXPLAIN ( prefix + "{ waitForSync: -1 } RETURN 1" ) ;
120
+ fail ( ) ;
121
+ } catch ( err ) {
122
+ assertEqual ( errors . ERROR_BAD_PARAMETER . code , err . errorNum ) ;
123
+ }
110
124
} ,
111
125
112
126
testTraversal : function ( ) {
@@ -130,6 +144,8 @@ function aqlOptionsVerificationSuite () {
130
144
[ prefix + "{ bfs: true, order: 'bfs' } RETURN 1" , "order" ] ,
131
145
[ prefix + "{ waitForSync: true } RETURN 1" , "waitForSync" ] ,
132
146
[ prefix + "{ waitForSync: false } RETURN 1" , "waitForSync" ] ,
147
+ [ prefix + "{ waitForSync: +1 } RETURN 1" , "waitForSync" ] ,
148
+ [ prefix + "{ waitForSync: -1 } RETURN 1" , "waitForSync" ] ,
133
149
[ prefix + "{ method: 'hash' } RETURN 1" , "method" ] ,
134
150
[ prefix + "{ tititi: 'piff' } RETURN 1" , "tititi" ] ,
135
151
] ;
@@ -144,7 +160,10 @@ function aqlOptionsVerificationSuite () {
144
160
[ prefix + "{ defaultWeight: 42.5 } RETURN 1" ] ,
145
161
[ prefix + "{ weightAttribute: false } RETURN 1" , "weightAttribute" ] ,
146
162
[ prefix + "{ defaultWeight: false } RETURN 1" , "defaultWeight" ] ,
163
+ [ prefix + "{ waitForSync: false } RETURN 1" , "waitForSync" ] ,
147
164
[ prefix + "{ waitForSync: true } RETURN 1" , "waitForSync" ] ,
165
+ [ prefix + "{ waitForSync: +1 } RETURN 1" , "waitForSync" ] ,
166
+ [ prefix + "{ waitForSync: -1 } RETURN 1" , "waitForSync" ] ,
148
167
[ prefix + "{ method: 'hash' } RETURN 1" , "method" ] ,
149
168
[ prefix + "{ tititi: 'piff' } RETURN 1" , "tititi" ] ,
150
169
] ;
@@ -158,7 +177,10 @@ function aqlOptionsVerificationSuite () {
158
177
[ prefix + "{ method: 'sorted' } RETURN x" ] ,
159
178
[ prefix + "{ method: 'hash' } RETURN x" ] ,
160
179
[ prefix + "{ method: 'foxx' } RETURN x" , "method" ] ,
180
+ [ prefix + "{ waitForSync: false } RETURN x" , "waitForSync" ] ,
161
181
[ prefix + "{ waitForSync: true } RETURN x" , "waitForSync" ] ,
182
+ [ prefix + "{ waitForSync: +1 } RETURN x" , "waitForSync" ] ,
183
+ [ prefix + "{ waitForSync: -1 } RETURN x" , "waitForSync" ] ,
162
184
[ prefix + "{ tititi: 'piff' } RETURN x" , "tititi" ] ,
163
185
] ;
164
186
@@ -170,6 +192,8 @@ function aqlOptionsVerificationSuite () {
170
192
const queries = [
171
193
[ prefix + "{ waitForSync: false }" ] ,
172
194
[ prefix + "{ waitForSync: true }" ] ,
195
+ [ prefix + "{ waitForSync: +1 }" ] ,
196
+ [ prefix + "{ waitForSync: -1 }" ] ,
173
197
[ prefix + "{ skipDocumentValidation: true }" ] ,
174
198
[ prefix + "{ keepNull: true }" ] ,
175
199
[ prefix + "{ mergeObjects: true }" ] ,
@@ -191,6 +215,8 @@ function aqlOptionsVerificationSuite () {
191
215
const queries = [
192
216
[ prefix + "{ waitForSync: false }" ] ,
193
217
[ prefix + "{ waitForSync: true }" ] ,
218
+ [ prefix + "{ waitForSync: +1 }" ] ,
219
+ [ prefix + "{ waitForSync: -1 }" ] ,
194
220
[ prefix + "{ skipDocumentValidation: true }" ] ,
195
221
[ prefix + "{ keepNull: true }" ] ,
196
222
[ prefix + "{ mergeObjects: true }" ] ,
@@ -212,6 +238,8 @@ function aqlOptionsVerificationSuite () {
212
238
const queries = [
213
239
[ prefix + "{ waitForSync: false }" ] ,
214
240
[ prefix + "{ waitForSync: true }" ] ,
241
+ [ prefix + "{ waitForSync: +1 }" ] ,
242
+ [ prefix + "{ waitForSync: -1 }" ] ,
215
243
[ prefix + "{ skipDocumentValidation: true }" ] ,
216
244
[ prefix + "{ keepNull: true }" ] ,
217
245
[ prefix + "{ mergeObjects: true }" ] ,
@@ -233,6 +261,8 @@ function aqlOptionsVerificationSuite () {
233
261
const queries = [
234
262
[ prefix + "{ waitForSync: false }" ] ,
235
263
[ prefix + "{ waitForSync: true }" ] ,
264
+ [ prefix + "{ waitForSync: +1 }" ] ,
265
+ [ prefix + "{ waitForSync: -1 }" ] ,
236
266
[ prefix + "{ skipDocumentValidation: true }" ] ,
237
267
[ prefix + "{ keepNull: true }" ] ,
238
268
[ prefix + "{ mergeObjects: true }" ] ,
@@ -254,6 +284,8 @@ function aqlOptionsVerificationSuite () {
254
284
const queries = [
255
285
[ prefix + "{ waitForSync: false }" ] ,
256
286
[ prefix + "{ waitForSync: true }" ] ,
287
+ [ prefix + "{ waitForSync: +1 }" ] ,
288
+ [ prefix + "{ waitForSync: -1 }" ] ,
257
289
[ prefix + "{ skipDocumentValidation: true }" ] ,
258
290
[ prefix + "{ keepNull: true }" ] ,
259
291
[ prefix + "{ mergeObjects: true }" ] ,
0 commit comments