mirror of https://gitee.com/bigwinds/arangodb
Added tests for CXX implementation of SHIFT and UNSHIFT
This commit is contained in:
parent
c430a0ba36
commit
39748553d2
|
@ -212,6 +212,12 @@ function ahuacatlListTestSuite () {
|
|||
data.forEach(function (d) {
|
||||
var actual = getQueryResults("RETURN UNSHIFT(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(UNSHIFT(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(UNSHIFT(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -224,6 +230,7 @@ function ahuacatlListTestSuite () {
|
|||
for (var i = 0; i < 2000; i += 2) {
|
||||
l.push(i);
|
||||
}
|
||||
|
||||
var actual = getQueryResults("RETURN UNSHIFT(" + JSON.stringify(l) + ", 1000, true)");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
@ -241,6 +248,50 @@ function ahuacatlListTestSuite () {
|
|||
l.unshift(1001);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1002, actual[0].length);
|
||||
|
||||
// Reset to start
|
||||
l.shift();
|
||||
l.shift();
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(UNSHIFT(" + JSON.stringify(l) + ", 1000, true))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(UNSHIFT(" + JSON.stringify(l) + ", 1000, true))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(UNSHIFT(" + JSON.stringify(l) + ", 1000, false))");
|
||||
l.unshift(1000);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1001, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(UNSHIFT(" + JSON.stringify(l) + ", 1001, true))");
|
||||
l.unshift(1001);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1002, actual[0].length);
|
||||
|
||||
// Reset to start
|
||||
l.shift();
|
||||
l.shift();
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(UNSHIFT(" + JSON.stringify(l) + ", 1000, true)))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(UNSHIFT(" + JSON.stringify(l) + ", 1000, true)))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(UNSHIFT(" + JSON.stringify(l) + ", 1000, false)))");
|
||||
l.unshift(1000);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1001, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(UNSHIFT(" + JSON.stringify(l) + ", 1001, true)))");
|
||||
l.unshift(1001);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1002, actual[0].length);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -251,6 +302,14 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN UNSHIFT()");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN UNSHIFT([ ])");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN UNSHIFT([ ], 1, 2, 3)");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(UNSHIFT())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(UNSHIFT([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(UNSHIFT([ ], 1, 2, 3))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(UNSHIFT()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(UNSHIFT([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(UNSHIFT([ ], 1, 2, 3)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -412,6 +471,12 @@ function ahuacatlListTestSuite () {
|
|||
data.forEach(function (d) {
|
||||
var actual = getQueryResults("RETURN SHIFT(" + JSON.stringify(d[1]) + ")");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(SHIFT(" + JSON.stringify(d[1]) + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(SHIFT(" + JSON.stringify(d[1]) + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -433,6 +498,26 @@ function ahuacatlListTestSuite () {
|
|||
l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(998, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(SHIFT(" + JSON.stringify(l) + "))");
|
||||
l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(999, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(SHIFT(" + JSON.stringify(l) + "))");
|
||||
l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(998, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(SHIFT(" + JSON.stringify(l) + ")))");
|
||||
l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(999, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(SHIFT(" + JSON.stringify(l) + ")))");
|
||||
l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(998, actual[0].length);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -443,6 +528,14 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN SHIFT()");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN SHIFT([ ], 1)");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN SHIFT([ ], 1, 2)");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(SHIFT())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(SHIFT([ ], 1))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(SHIFT([ ], 1, 2))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(SHIFT()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(SHIFT([ ], 1)))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(SHIFT([ ], 1, 2)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
Loading…
Reference in New Issue