mirror of https://gitee.com/bigwinds/arangodb
remove now-superfluous tests for V8 versions of AQL functions (#5319)
This commit is contained in:
parent
5d2982fd7c
commit
e1da502c67
|
@ -69,8 +69,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(+0)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(+0)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -83,8 +81,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(+1)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(+1)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -97,8 +93,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(++1)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(++1)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -111,8 +105,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(+-5)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(+-5)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -125,8 +117,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(+++5.4)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(+++5.4)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -163,21 +153,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual([ 0 ], getQueryResults("RETURN NOOPT(+[ \"abc\" ])"));
|
||||
assertEqual([ 3 ], getQueryResults("RETURN NOOPT(+[ \"3\" ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN NOOPT(+{ })"));
|
||||
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+null)"));
|
||||
assertEqual([ 1 ], getQueryResults("RETURN V8(+true)"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+false)"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+\"value\")"));
|
||||
assertEqual([ 1 ], getQueryResults("RETURN V8(+\"1\")"));
|
||||
assertEqual([ -3 ], getQueryResults("RETURN V8(+\"-3\")"));
|
||||
assertEqual([ -3.4 ], getQueryResults("RETURN V8(+\"-3.4\")"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+[ ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+[ 0 ])"));
|
||||
assertEqual([ -34 ], getQueryResults("RETURN V8(+[ -34 ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+[ 1, 2 ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+[ \"abc\" ])"));
|
||||
assertEqual([ 3 ], getQueryResults("RETURN V8(+[ \"3\" ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(+{ })"));
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -190,8 +165,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(-0)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(-0)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -204,8 +177,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(-1)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(-1)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -218,8 +189,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(--1)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(--1)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -232,8 +201,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(-+5)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(-+5)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -246,8 +213,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN NOOPT(---5.4)");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(---5.4)");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -284,21 +249,6 @@ function ahuacatlArithmeticTestSuite () {
|
|||
assertEqual([ 0 ], getQueryResults("RETURN NOOPT(-[ \"abc\" ])"));
|
||||
assertEqual([ -3 ], getQueryResults("RETURN NOOPT(-[ \"3\" ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN NOOPT(-{ })"));
|
||||
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-null)"));
|
||||
assertEqual([ -1 ], getQueryResults("RETURN V8(-true)"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-false)"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-\"value\")"));
|
||||
assertEqual([ -1 ], getQueryResults("RETURN V8(-\"1\")"));
|
||||
assertEqual([ 3 ], getQueryResults("RETURN V8(-\"-3\")"));
|
||||
assertEqual([ 3.5 ], getQueryResults("RETURN V8(-\"-3.5\")"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-[ ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-[ 0 ])"));
|
||||
assertEqual([ 34 ], getQueryResults("RETURN V8(-[ -34 ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-[ 1, 2 ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-[ \"abc\" ])"));
|
||||
assertEqual([ -3 ], getQueryResults("RETURN V8(-[ \"3\" ])"));
|
||||
assertEqual([ 0 ], getQueryResults("RETURN V8(-{ })"));
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -176,24 +176,6 @@ function arrayAccessTestSuite () {
|
|||
assertEqual([ null ], result);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test non-array access
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testV8NonArrayRange1 : function () {
|
||||
var result = AQL_EXECUTE("RETURN NOOPT(V8({ foo: 'bar' }))[0..1]").json;
|
||||
assertEqual([ null ], result);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test non-array access
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testV8NonArrayRange2 : function () {
|
||||
var result = AQL_EXECUTE("RETURN NOOPT(V8({ foo: 'bar' }))[-2..-1]").json;
|
||||
assertEqual([ null ], result);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test subquery result
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -74,9 +74,6 @@ function distanceSuite () {
|
|||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(V8(" + query + "))").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -94,9 +91,6 @@ function distanceSuite () {
|
|||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(V8(" + query + "))").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -114,9 +108,6 @@ function distanceSuite () {
|
|||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
|
||||
actual = AQL_EXECUTE("RETURN NOOPT(V8(" + query + "))").json;
|
||||
assertAlmostEqual(expected[0], actual[0]);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -39,10 +39,6 @@ function ahuacatlDynamicAttributesTestSuite () {
|
|||
function checkResult(query, expected) {
|
||||
var q;
|
||||
|
||||
q = "RETURN NOOPT(V8(" + query + "))";
|
||||
assertEqual(expected, AQL_EXECUTE(q).json[0]);
|
||||
assertEqual("simple", AQL_EXPLAIN(q).plan.nodes[1].expressionType);
|
||||
|
||||
q = "RETURN NOOPT(" + query + ")";
|
||||
assertEqual(expected, AQL_EXECUTE(q).json[0]);
|
||||
assertEqual("simple", AQL_EXPLAIN(q).plan.nodes[1].expressionType);
|
||||
|
@ -239,10 +235,8 @@ function ahuacatlDynamicAttributesTestSuite () {
|
|||
doc["test-value-" + i] = i;
|
||||
expected.push(doc);
|
||||
}
|
||||
var actual = AQL_EXECUTE("FOR i IN 1..100 RETURN V8({ [ CONCAT('test-value-', i) ] : i })");
|
||||
assertEqual(expected, actual.json);
|
||||
|
||||
actual = AQL_EXECUTE("FOR i IN 1..100 RETURN { [ CONCAT('test-value-', i) ] : i }");
|
||||
let actual = AQL_EXECUTE("FOR i IN 1..100 RETURN { [ CONCAT('test-value-', i) ] : i }");
|
||||
assertEqual(expected, actual.json);
|
||||
},
|
||||
|
||||
|
|
|
@ -94,9 +94,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(PUSH(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -149,28 +146,6 @@ function ahuacatlListTestSuite () {
|
|||
l.push(1001);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1002, actual[0].length);
|
||||
|
||||
// Reset to default
|
||||
l.pop();
|
||||
l.pop();
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + JSON.stringify(l) + ", 1000, true)))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + JSON.stringify(l) + ", 1000, true)))");
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1000, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + JSON.stringify(l) + ", 1000, false)))");
|
||||
l.push(1000);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1001, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + JSON.stringify(l) + ", 1001, true)))");
|
||||
l.push(1001);
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(1002, actual[0].length);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -185,10 +160,6 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(PUSH())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(PUSH([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(PUSH([ ], 1, 2, 3))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(PUSH()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(PUSH([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(PUSH([ ], 1, 2, 3)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -231,9 +202,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
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);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -286,28 +254,6 @@ 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(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);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -322,10 +268,6 @@ function ahuacatlListTestSuite () {
|
|||
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)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -376,9 +318,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(POP(" + JSON.stringify(d[1]) + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(POP(" + JSON.stringify(d[1]) + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -410,16 +349,6 @@ function ahuacatlListTestSuite () {
|
|||
l.pop();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(996, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(POP(" + JSON.stringify(l) + ")))");
|
||||
l.pop();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(995, actual[0].length);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(POP(" + JSON.stringify(l) + ")))");
|
||||
l.pop();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(994, actual[0].length);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -434,10 +363,6 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(POP())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(POP([ ], 1))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(POP([ ], 1, 2))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(POP()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(POP([ ], 1)))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(POP([ ], 1, 2)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -490,9 +415,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
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);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -527,19 +449,6 @@ function ahuacatlListTestSuite () {
|
|||
second = l.shift();
|
||||
assertEqual(l, actual[0]);
|
||||
assertEqual(998, actual[0].length);
|
||||
|
||||
l.unshift(second);
|
||||
l.unshift(first);
|
||||
|
||||
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);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -554,10 +463,6 @@ function ahuacatlListTestSuite () {
|
|||
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)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -593,19 +498,6 @@ function ahuacatlListTestSuite () {
|
|||
}
|
||||
|
||||
assertEqual(l.length, 0);
|
||||
|
||||
for (i = 0; i < 1000; ++i) {
|
||||
actual = getQueryResults("RETURN NOOPT(V8(PUSH(" + JSON.stringify(l) + ", " + JSON.stringify(i) + ")))");
|
||||
l.push(i);
|
||||
assertEqual(l, actual[0]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 1000; ++i) {
|
||||
actual = getQueryResults("RETURN NOOPT(V8(POP(" + JSON.stringify(l) + ")))");
|
||||
l.pop();
|
||||
assertEqual(l, actual[0]);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -656,9 +548,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(APPEND(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(APPEND(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -707,20 +596,6 @@ function ahuacatlListTestSuite () {
|
|||
actual = getQueryResults("RETURN NOOPT(APPEND(" + JSON.stringify(l) + ", " + JSON.stringify(l1) + ", true))");
|
||||
assertEqual(1000, actual[0].length);
|
||||
assertEqual(l, actual[0]);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(APPEND(" + JSON.stringify(l1) + ", " + JSON.stringify(l2) + ")))");
|
||||
lx = l1.concat(l2);
|
||||
assertEqual(1000, actual[0].length);
|
||||
assertEqual(lx, actual[0]);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(APPEND(" + JSON.stringify(l) + ", " + JSON.stringify(l1) + ")))");
|
||||
lx = l.concat(l1);
|
||||
assertEqual(1500, actual[0].length);
|
||||
assertEqual(lx, actual[0]);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(APPEND(" + JSON.stringify(l) + ", " + JSON.stringify(l1) + ", true)))");
|
||||
assertEqual(1000, actual[0].length);
|
||||
assertEqual(l, actual[0]);
|
||||
},
|
||||
|
||||
testAppendDocuments : function () {
|
||||
|
@ -734,15 +609,6 @@ function ahuacatlListTestSuite () {
|
|||
for (i = 0; i < 10; ++i) {
|
||||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x) RETURN V8(APPEND([], tmp))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertEqual(actual.length, 10);
|
||||
actual = actual.sort(function(l, r) { if (l._key < r._key) { return -1;} else if (l._key > r._key) { return 1;} return 0; });
|
||||
for (i = 0; i < 10; ++i) {
|
||||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x) RETURN APPEND(tmp, [])", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
|
@ -753,15 +619,6 @@ function ahuacatlListTestSuite () {
|
|||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x) RETURN V8(APPEND(tmp, []))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertEqual(actual.length, 10);
|
||||
actual = actual.sort(function(l, r) { if (l._key < r._key) { return -1;} else if (l._key > r._key) { return 1;} return 0; });
|
||||
for (i = 0; i < 10; ++i) {
|
||||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET doc = DOCUMENT('nonexistantCollection/nonexistantDocument') RETURN append(doc.t,[1,2,2], true)");
|
||||
assertEqual(actual[0], [1,2,2]);
|
||||
},
|
||||
|
@ -778,22 +635,9 @@ function ahuacatlListTestSuite () {
|
|||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection SORT x._key RETURN x) RETURN V8(APPEND(tmp, 'stringvalue'))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertEqual(actual.length, 11);
|
||||
assertEqual(actual[10], 'stringvalue');
|
||||
for (i = 0; i < 10; ++i) {
|
||||
assertEqual(actual[i]._key, "test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x) RETURN APPEND('stringvalue', tmp)", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
assertNull(actual[0]);
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x) RETURN V8(APPEND('stringvalue', tmp))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
assertNull(actual[0]);
|
||||
},
|
||||
|
||||
testAppendDocuments3 : function () {
|
||||
|
@ -809,43 +653,20 @@ function ahuacatlListTestSuite () {
|
|||
assertEqual(actual[i], collectionName + "/test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x._id) RETURN V8(APPEND(tmp, 'stringvalue'))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertEqual(actual.length, 11);
|
||||
actual = actual.sort(function(l, r) { if (l < r) { return -1;} else if (l > r) { return 1;} return 0; });
|
||||
assertEqual('stringvalue', actual[10]);
|
||||
for (i = 0; i < 10; ++i) {
|
||||
assertEqual(actual[i], collectionName + "/test" + i);
|
||||
}
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x._id) RETURN APPEND('stringvalue', tmp)", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
assertNull(actual[0]);
|
||||
|
||||
actual = getQueryResults("LET tmp = (FOR x IN @@collection RETURN x._id) RETURN V8(APPEND('stringvalue', tmp))", bindVars);
|
||||
assertEqual(actual.length, 1);
|
||||
assertNull(actual[0]);
|
||||
},
|
||||
|
||||
testAppendSecondUnique : function () {
|
||||
var actual = getQueryResults("RETURN APPEND('stringvalue', [1,1,1,1,1,1], true)");
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertNull(null);
|
||||
|
||||
actual = getQueryResults("RETURN V8(APPEND('stringvalue', [1,1,1,1,1,1], true))");
|
||||
assertEqual(actual.length, 1);
|
||||
actual = actual[0];
|
||||
assertNull(null);
|
||||
assertNull(actual);
|
||||
|
||||
actual = getQueryResults("RETURN APPEND([1,1,1,1,1,1], 'stringvalue', true)");
|
||||
assertEqual(actual.length, 1);
|
||||
assertEqual([1, 'stringvalue'], actual[0]);
|
||||
|
||||
actual = getQueryResults("RETURN V8(APPEND([1,1,1,1,1,1], 'stringvalue', true))");
|
||||
assertEqual(actual.length, 1);
|
||||
assertEqual([1, 'stringvalue'], actual[0]);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -860,13 +681,8 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(APPEND())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(APPEND([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(APPEND([ ], [ ], false, [ ]))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(APPEND()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(APPEND([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(APPEND([ ], [ ], false, [ ])))");
|
||||
|
||||
assertEqual([ null ], getQueryResults("RETURN APPEND('foo', [1])"));
|
||||
assertEqual([ null ], getQueryResults("RETURN V8(APPEND('foo', [1]))"));
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -905,9 +721,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(REMOVE_VALUES(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(REMOVE_VALUES(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -923,10 +736,6 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUES())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUES([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUES([ ], [ ], true))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUES()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUES([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUES([ ], [ ], true)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -970,9 +779,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(REMOVE_VALUE(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(REMOVE_VALUE(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -988,10 +794,6 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUE())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUE([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_VALUE([ ], [ ], true, true))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUE()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUE([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_VALUE([ ], [ ], true, true)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -1037,9 +839,6 @@ function ahuacatlListTestSuite () {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(REMOVE_NTH(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + "))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(REMOVE_NTH(" + d[1].map(function (v) { return JSON.stringify(v); }).join(", ") + ")))");
|
||||
assertEqual(d[0], actual[0], d);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -1055,10 +854,6 @@ function ahuacatlListTestSuite () {
|
|||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_NTH())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_NTH([ ]))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(REMOVE_NTH([ ], 1, true))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_NTH()))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_NTH([ ])))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(REMOVE_NTH([ ], 1, true)))");
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -54,14 +54,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return `RETURN PARSE_IDENTIFIER(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(PARSE_IDENTIFIER(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(PARSE_IDENTIFIER(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
actual = getQueryResults(buildQuery(i, "'foo/bar'"));
|
||||
assertEqual([ { collection: 'foo', key: 'bar' } ], actual);
|
||||
|
||||
|
@ -104,14 +102,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return `RETURN PARSE_IDENTIFIER(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(PARSE_IDENTIFIER(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(PARSE_IDENTIFIER(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
expected = [ { collection: cn, key: "foobar" } ];
|
||||
actual = getQueryResults(buildQuery(i, "DOCUMENT(CONCAT(@cn, '/', @key))"), { cn: cn, key: "foobar" });
|
||||
assertEqual(expected, actual);
|
||||
|
@ -143,14 +139,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return `RETURN PARSE_IDENTIFIER(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(PARSE_IDENTIFIER(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(PARSE_IDENTIFIER(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "'foo', 'bar'"));
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, buildQuery(i, "null"));
|
||||
|
@ -177,14 +171,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return "RETURN " + q;
|
||||
case 1:
|
||||
return "RETURN NOOPT(" + q + ")";
|
||||
case 2:
|
||||
return "RETURN NOOPT(V8(" + q + "))";
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertEqual([ true ], getQueryResults(buildQuery(i, "foo", "foo/bar")));
|
||||
assertEqual([ true ], getQueryResults(buildQuery(i, "foo", "foo/bark")));
|
||||
assertEqual([ false ], getQueryResults(buildQuery(i, "FOO", "foo/bark")));
|
||||
|
@ -232,14 +224,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return `RETURN IS_SAME_COLLECTION(${cn}, ${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(IS_SAME_COLLECTION(${cn}, ${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(IS_SAME_COLLECTION(${cn}, ${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
actual = getQueryResults(buildQuery(i, "DOCUMENT(CONCAT(@cn, '/', @key))"), { cn: cn, key: "foobar" });
|
||||
assertTrue(actual[0]);
|
||||
|
||||
|
@ -262,11 +252,8 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
|
||||
testIsSameCollectionInvalid : function () {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN IS_SAME_COLLECTION()");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION())");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo')");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo'))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', 'bar', 'baz')");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', 'bar', 'baz'))");
|
||||
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', null)");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', false)");
|
||||
|
@ -274,13 +261,6 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', 3)");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', [ ])");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN IS_SAME_COLLECTION('foo', { })");
|
||||
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', null))");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', false))");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', true))");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', 3))");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', [ ]))");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, "RETURN V8(IS_SAME_COLLECTION('foo', { }))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -303,14 +283,12 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
return `RETURN DOCUMENT(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(DOCUMENT(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(DOCUMENT(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
// test with two parameters
|
||||
expected = [ { title: "123", value : 456 } ];
|
||||
actual = getQueryResults(buildQuery(i, cn + ", \"" + d1._id + "\""));
|
||||
|
@ -534,9 +512,6 @@ function ahuacatlMiscFunctionsTestSuite () { return {
|
|||
|
||||
actual = getQueryResults("RETURN NOOPT(CURRENT_DATABASE())");
|
||||
assertEqual([ "_system" ], actual);
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(V8(CURRENT_DATABASE()))");
|
||||
assertEqual([ "_system" ], actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -643,20 +618,13 @@ function ahuacatlCollectionCountTestSuite () {
|
|||
testLengthNonExisting : function () {
|
||||
var cnot = cn + "DoesNotExist";
|
||||
|
||||
var queries = [
|
||||
"RETURN LENGTH(" + cnot + ")",
|
||||
"RETURN V8(LENGTH(" + cnot + "))"
|
||||
];
|
||||
|
||||
queries.forEach(function(q) {
|
||||
try {
|
||||
AQL_EXECUTE(q);
|
||||
fail();
|
||||
}
|
||||
catch (err) {
|
||||
assertEqual(errors.ERROR_ARANGO_DATA_SOURCE_NOT_FOUND.code, err.errorNum);
|
||||
}
|
||||
});
|
||||
try {
|
||||
AQL_EXECUTE("RETURN LENGTH(" + cnot + ")");
|
||||
fail();
|
||||
}
|
||||
catch (err) {
|
||||
assertEqual(errors.ERROR_ARANGO_DATA_SOURCE_NOT_FOUND.code, err.errorNum);
|
||||
}
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -664,16 +632,9 @@ function ahuacatlCollectionCountTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testLength : function () {
|
||||
var queries = [
|
||||
"RETURN LENGTH(" + cn + ")",
|
||||
"RETURN V8(LENGTH(" + cn + "))"
|
||||
];
|
||||
|
||||
queries.forEach(function(q) {
|
||||
var actual = AQL_EXECUTE(q);
|
||||
assertEqual([ ], actual.warnings);
|
||||
assertEqual([ 1000 ], actual.json);
|
||||
});
|
||||
var actual = AQL_EXECUTE("RETURN LENGTH(" + cn + ")");
|
||||
assertEqual([ ], actual.warnings);
|
||||
assertEqual([ 1000 ], actual.json);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -708,7 +669,6 @@ function ahuacatlCollectionCountTestSuite () {
|
|||
|
||||
testCollections : function () {
|
||||
assertEqual(db._collections().map((col) => {return {name:col.name(),_id:col._id};}), getQueryResults('RETURN NOOPT(COLLECTIONS())')[0]);
|
||||
assertEqual(db._collections().map((col) => {return {name:col.name(),_id:col._id};}), getQueryResults('RETURN NOOPT(V8(COLLECTIONS()))')[0]);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -68,9 +68,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(PI())";
|
||||
assertAlmostEqual(expected, getQueryResults(query)[0], "comparing NOOPT(PI)");
|
||||
|
||||
query = "RETURN NOOPT(V8(PI()))";
|
||||
assertAlmostEqual(expected, getQueryResults(query)[0], "comparing NOOPT(V8(PI))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -140,9 +137,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(LOG(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(LOG(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -213,9 +207,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(LOG2(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(LOG2(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -286,9 +277,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(LOG10(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(LOG10(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -359,9 +347,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(EXP(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(EXP(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -432,9 +417,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(EXP2(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(EXP2(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -503,9 +485,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(RADIANS(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(RADIANS(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -574,9 +553,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(DEGREES(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(DEGREES(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -647,9 +623,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(SIN(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(SIN(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -720,9 +693,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(COS(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(COS(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -793,9 +763,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(TAN(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(TAN(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -869,9 +836,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(ASIN(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(ASIN(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -945,9 +909,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(ACOS(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(ACOS(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -1018,9 +979,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(ATAN(@v))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(ATAN(@v)))";
|
||||
assertAlmostEqual(v[1], getQueryResults(query, { v: v[0] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -3847,9 +3805,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
query = "RETURN NOOPT(ATAN2(@v1, @v2))";
|
||||
assertAlmostEqual(v[2], getQueryResults(query, { v1: v[0], v2: v[1] })[0], query + " " + JSON.stringify(v));
|
||||
|
||||
query = "RETURN NOOPT(V8(ATAN2(@v1, @v2)))";
|
||||
assertAlmostEqual(v[2], getQueryResults(query, { v1: v[0], v2: v[1] })[0], query + " " + JSON.stringify(v));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -3865,9 +3820,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(FLOOR(r))");
|
||||
assertEqual(expected, actual);
|
||||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(V8(FLOOR(r)))");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -3881,13 +3833,11 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN FLOOR(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(FLOOR(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(FLOOR(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "1, 2"));
|
||||
assertEqual([ 0 ], getQueryResults(buildQuery(i, "null")));
|
||||
|
@ -3910,9 +3860,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(CEIL(r))");
|
||||
assertEqual(expected, actual);
|
||||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(V8(CEIL(r)))");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -3926,13 +3873,11 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN CEIL(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(CEIL(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(CEIL(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "1, 2"));
|
||||
assertEqual([ 0 ], getQueryResults(buildQuery(i, "null")));
|
||||
|
@ -3962,12 +3907,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
for (i = 0; i < expected.length; ++i) {
|
||||
assertEqual(expected[i].toPrecision(5), actual[i].toPrecision(5));
|
||||
}
|
||||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(V8(ABS(r)))");
|
||||
assertEqual(actual.length, expected.length);
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
assertEqual(expected[i].toPrecision(5), actual[i].toPrecision(5));
|
||||
}
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -3981,13 +3920,11 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN ABS(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(ABS(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(ABS(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "1,2"));
|
||||
assertEqual([ 0 ], getQueryResults(buildQuery(i, "null")));
|
||||
|
@ -4010,9 +3947,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(ROUND(r))");
|
||||
assertEqual(expected, actual);
|
||||
|
||||
actual = getQueryResults("FOR r IN [ -99.999, -3, -2.1, -2.01, -2, -1.99, -1.1, -1.01, -1, -0.9, -0.6, -0.5, -0.4, -0.1, -0.01, 0, 0.01, 0.1, 0.4, 0.5, 0.6, 0.9, 1, 1.01, 1.1, 1.99, 2, 2.01, 2.1, 3, 99.999 ] return NOOPT(V8(ROUND(r)))");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -4026,14 +3960,12 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN ROUND(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(ROUND(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(ROUND(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "1,2"));
|
||||
assertEqual([ 0 ], getQueryResults(buildQuery(i, "null")));
|
||||
|
@ -4052,8 +3984,7 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
testRand : function () {
|
||||
var queries = [
|
||||
"FOR r IN [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ] RETURN RAND()",
|
||||
"FOR r IN [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ] RETURN NOOPT(RAND())",
|
||||
"FOR r IN [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ] RETURN NOOPT(V8(RAND()))"
|
||||
"FOR r IN [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ] RETURN NOOPT(RAND())"
|
||||
];
|
||||
queries.forEach(function(query) {
|
||||
var actual = getQueryResults(query);
|
||||
|
@ -4076,9 +4007,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(RAND(1))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(RAND(2))");
|
||||
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(RAND(1)))");
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN NOOPT(V8(RAND(2)))");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -4149,14 +4077,6 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
// if (value[1] === null) {
|
||||
// assertEqual(0, actual[0]);
|
||||
// }
|
||||
// else {
|
||||
assertAlmostEqual(value[1], actual[0], query);
|
||||
// }
|
||||
query = "RETURN NOOPT(V8(SQRT(" + JSON.stringify(value[0]) + ")))";
|
||||
actual = getQueryResults(query);
|
||||
// if (value[1] === null) {
|
||||
// assertEqual(0, actual[0]);
|
||||
// }
|
||||
// else {
|
||||
assertAlmostEqual(value[1], actual[0], query);
|
||||
// }
|
||||
|
@ -4174,13 +4094,11 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN SQRT(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(SQRT(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(SQRT(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "2, 2"));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "2, 2, 3"));
|
||||
|
@ -5803,20 +5721,12 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
var valgrind = require("internal").valgrind;
|
||||
|
||||
data.forEach(function (value) {
|
||||
if (valgrind && (value[0] === 0 || value[1] >= 0 && value[1] < 1)) {
|
||||
// V8 under Valgrind has an issue with Math.pow(0, 0.1);
|
||||
return;
|
||||
}
|
||||
var query = "RETURN POW(" + JSON.stringify(value[0]) + ", " + JSON.stringify(value[1]) + ")";
|
||||
var actual = getQueryResults(query);
|
||||
assertAlmostEqual(value[2], actual[0], query + " " + JSON.stringify(value));
|
||||
|
||||
actual = getQueryResults("RETURN NOOPT(POW(" + JSON.stringify(value[0]) + ", " + JSON.stringify(value[1]) + "))");
|
||||
assertAlmostEqual(value[2], actual[0], value, query + " " + JSON.stringify(value));
|
||||
|
||||
query = "RETURN NOOPT(V8(POW(" + JSON.stringify(value[0]) + ", " + JSON.stringify(value[1]) + ")))";
|
||||
actual = getQueryResults(query);
|
||||
assertAlmostEqual(value[2], actual[0], query + " " + JSON.stringify(value));
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -5831,13 +5741,11 @@ function ahuacatlNumericFunctionsTestSuite () {
|
|||
return `RETURN POW(${input})`;
|
||||
case 1:
|
||||
return `RETURN NOOPT(POW(${input}))`;
|
||||
case 2:
|
||||
return `RETURN NOOPT(V8(POW(${input})))`;
|
||||
default:
|
||||
assertTrue(false, "Undefined state");
|
||||
}
|
||||
};
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
for (var i = 0; i < 2; ++i) {
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, ""));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "2"));
|
||||
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, buildQuery(i, "2, 2, 3"));
|
||||
|
|
|
@ -697,9 +697,9 @@ function multiCollectionGraphSuite () {
|
|||
});
|
||||
},
|
||||
|
||||
testNoBindParameterV8Function: function () {
|
||||
testNoBindParameterRandFunction: function () {
|
||||
var query = 'FOR s IN ' + vn + ' FOR x, e, p IN OUTBOUND s ' +
|
||||
en + ' FILTER p.vertices[1]._key == NOOPT(V8(RAND())) SORT x._key RETURN x';
|
||||
en + ' FILTER p.vertices[1]._key == NOOPT(RAND()) SORT x._key RETURN x';
|
||||
var result = db._query(query).toArray();
|
||||
assertEqual(result.length, 0);
|
||||
var plans = AQL_EXPLAIN(query, { }, opts).plans;
|
||||
|
|
|
@ -678,8 +678,6 @@ function ahuacatlOperatorsTestSuite () {
|
|||
assertEqual(v.ex, db._query(q).next(), q);
|
||||
q = `RETURN NOOPT(TO_STRING(${v.val}))`;
|
||||
assertEqual(v.ex, db._query(q).next(), q);
|
||||
q = `RETURN NOOPT(V8(TO_STRING(${v.val})))`;
|
||||
assertEqual(v.ex, db._query(q).next(), q);
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testOrLhsDynamicRhsFalse : function() {
|
||||
var queries = [
|
||||
"RETURN @data.value || 0",
|
||||
"RETURN V8(@data.value || 0)",
|
||||
"RETURN NOOPT(@data.value || 0)"
|
||||
];
|
||||
|
||||
|
@ -66,7 +65,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testOrLhsDynamicRhsTrue : function() {
|
||||
var queries = [
|
||||
"RETURN @data.value || 1",
|
||||
"RETURN V8(@data.value || 1)",
|
||||
"RETURN NOOPT(@data.value || 1)"
|
||||
];
|
||||
|
||||
|
@ -87,7 +85,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testOrRhsDynamicLhsFalse : function() {
|
||||
var queries = [
|
||||
"RETURN 0 || @data.value",
|
||||
"RETURN V8(0 || @data.value)",
|
||||
"RETURN NOOPT(0 || @data.value)"
|
||||
];
|
||||
|
||||
|
@ -108,7 +105,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testOrRhsDynamicLhsTrue : function() {
|
||||
var queries = [
|
||||
"RETURN 1 || @data.value",
|
||||
"RETURN V8(1 || @data.value)",
|
||||
"RETURN NOOPT(1 || @data.value)"
|
||||
];
|
||||
|
||||
|
@ -129,7 +125,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testAndLhsDynamicRhsFalse : function() {
|
||||
var queries = [
|
||||
"RETURN @data.value && 0",
|
||||
"RETURN V8(@data.value && 0)",
|
||||
"RETURN NOOPT(@data.value && 0)"
|
||||
];
|
||||
|
||||
|
@ -149,7 +144,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testAndLhsDynamicRhsTrue : function() {
|
||||
var queries = [
|
||||
"RETURN @data.value && 1",
|
||||
"RETURN V8(@data.value && 1)",
|
||||
"RETURN NOOPT(@data.value && 1)"
|
||||
];
|
||||
|
||||
|
@ -169,7 +163,6 @@ function optimizerOperatorsTestSuite () {
|
|||
testNot : function() {
|
||||
var queries = [
|
||||
"RETURN !@data.value",
|
||||
"RETURN V8(!@data.value)",
|
||||
"RETURN NOOPT(!@data.value)"
|
||||
];
|
||||
|
||||
|
|
|
@ -60,9 +60,6 @@ function optimizerQuantifiersTestSuite () {
|
|||
|
||||
result = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json[0];
|
||||
assertEqual(true, result);
|
||||
|
||||
result = AQL_EXECUTE("RETURN V8(" + query + ")").json[0];
|
||||
assertEqual(true, result);
|
||||
},
|
||||
|
||||
testAnyEmpty : function () {
|
||||
|
@ -73,9 +70,6 @@ function optimizerQuantifiersTestSuite () {
|
|||
|
||||
result = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json[0];
|
||||
assertEqual(false, result);
|
||||
|
||||
result = AQL_EXECUTE("RETURN V8(" + query + ")").json[0];
|
||||
assertEqual(false, result);
|
||||
},
|
||||
|
||||
testNoneEmpty : function () {
|
||||
|
@ -86,9 +80,6 @@ function optimizerQuantifiersTestSuite () {
|
|||
|
||||
result = AQL_EXECUTE("RETURN NOOPT(" + query + ")").json[0];
|
||||
assertEqual(true, result);
|
||||
|
||||
result = AQL_EXECUTE("RETURN V8(" + query + ")").json[0];
|
||||
assertEqual(true, result);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -104,15 +95,7 @@ function optimizerQuantifiersTestSuite () {
|
|||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ALL > doc.value SORT doc.value RETURN doc.value", [ 0, 0 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ALL >= doc.value SORT doc.value RETURN doc.value", [ 0, 0, 1, 1 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ALL < doc.value SORT doc.value RETURN doc.value", [ 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ALL <= doc.value SORT doc.value RETURN doc.value", [ 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL IN [ doc.value ]) SORT doc.value RETURN doc.value", [ ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL NOT IN [ doc.value ]) SORT doc.value RETURN doc.value", [ 0, 0, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL == doc.value) SORT doc.value RETURN doc.value", [ ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL != doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL > doc.value) SORT doc.value RETURN doc.value", [ 0, 0 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL >= doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL < doc.value) SORT doc.value RETURN doc.value", [ 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ALL <= doc.value) SORT doc.value RETURN doc.value", [ 3, 3, 4, 4 ] ]
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ALL <= doc.value SORT doc.value RETURN doc.value", [ 3, 3, 4, 4 ] ]
|
||||
];
|
||||
|
||||
queries.forEach(function(query) {
|
||||
|
@ -134,15 +117,7 @@ function optimizerQuantifiersTestSuite () {
|
|||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ANY > doc.value SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ANY >= doc.value SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2, 3, 3 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ANY < doc.value SORT doc.value RETURN doc.value", [ 2, 2, 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ANY <= doc.value SORT doc.value RETURN doc.value", [ 1, 1, 2, 2, 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY IN [ doc.value ]) SORT doc.value RETURN doc.value", [ 1, 1, 2, 2, 3, 3 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY NOT IN [ doc.value ]) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY == doc.value) SORT doc.value RETURN doc.value", [ 1, 1, 2, 2, 3, 3 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY != doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY > doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY >= doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1, 2, 2, 3, 3 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY < doc.value) SORT doc.value RETURN doc.value", [ 2, 2, 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] ANY <= doc.value) SORT doc.value RETURN doc.value", [ 1, 1, 2, 2, 3, 3, 4, 4 ] ]
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] ANY <= doc.value SORT doc.value RETURN doc.value", [ 1, 1, 2, 2, 3, 3, 4, 4 ] ]
|
||||
];
|
||||
|
||||
queries.forEach(function(query) {
|
||||
|
@ -164,15 +139,7 @@ function optimizerQuantifiersTestSuite () {
|
|||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] NONE > doc.value SORT doc.value RETURN doc.value", [ 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] NONE >= doc.value SORT doc.value RETURN doc.value", [ 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] NONE < doc.value SORT doc.value RETURN doc.value", [ 0, 0, 1, 1 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] NONE <= doc.value SORT doc.value RETURN doc.value", [ 0, 0 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE IN [ doc.value ]) SORT doc.value RETURN doc.value", [ 0, 0, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE NOT IN [ doc.value ]) SORT doc.value RETURN doc.value", [ ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE == doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE != doc.value) SORT doc.value RETURN doc.value", [ ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE > doc.value) SORT doc.value RETURN doc.value", [ 3, 3, 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE >= doc.value) SORT doc.value RETURN doc.value", [ 4, 4 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE < doc.value) SORT doc.value RETURN doc.value", [ 0, 0, 1, 1 ] ],
|
||||
[ "FOR doc IN " + c.name() + " FILTER V8([ 1, 2, 3 ] NONE <= doc.value) SORT doc.value RETURN doc.value", [ 0, 0 ] ]
|
||||
[ "FOR doc IN " + c.name() + " FILTER [ 1, 2, 3 ] NONE <= doc.value SORT doc.value RETURN doc.value", [ 0, 0 ] ]
|
||||
];
|
||||
|
||||
queries.forEach(function(query) {
|
||||
|
|
|
@ -137,9 +137,6 @@ describe('Rule optimize-traversals', () => {
|
|||
`FOR v, e, p IN 2 OUTBOUND 'circles/A' GRAPH '${graphName}'
|
||||
FILTER NOOPT(CONCAT(p.edges[0]._key, '')) == " + edgeKey + " SORT v._key
|
||||
RETURN {v:v,e:e,p:p}`,
|
||||
`FOR v, e, p IN 2 OUTBOUND 'circles/A' GRAPH '${graphName}'
|
||||
FILTER NOOPT(V8(CONCAT(p.edges[0]._key, ''))) == " + edgeKey + " SORT v._key
|
||||
RETURN {v:v,e:e,p:p}`,
|
||||
`FOR snippet IN ['a', 'b']
|
||||
FOR v, e, p IN 1..5 OUTBOUND 'circles/A' GRAPH '${graphName}'
|
||||
FILTER p.edges[1].label == CONCAT(snippet, 'ar')
|
||||
|
@ -241,9 +238,6 @@ describe('Rule optimize-traversals', () => {
|
|||
SORT v._key RETURN v._key`,
|
||||
`WITH circles FOR v, e, p IN 2 OUTBOUND @start @@ecol
|
||||
FILTER NOOPT(CONCAT(p.edges[0]._key, '')) == @edgeKey
|
||||
SORT v._key RETURN v._key`,
|
||||
`WITH circles FOR v, e, p IN 2 OUTBOUND @start @@ecol
|
||||
FILTER NOOPT(V8(CONCAT(p.edges[0]._key, ''))) == @edgeKey
|
||||
SORT v._key RETURN v._key`
|
||||
];
|
||||
const bindVars = {
|
||||
|
|
|
@ -265,7 +265,6 @@ function optimizerRuleTestSuite () {
|
|||
"FOR i IN 1..2 LET a = CONCAT('UnitTestsOptimizer', i) REPLACE CONCAT('UnitTestsOptimizer', i * 2) WITH CONCAT(a, i) INTO UnitTestsOptimizerTest OPTIONS { ignoreErrors: true }",
|
||||
|
||||
// same expression types
|
||||
"FOR doc IN [ { a: 1 }, { a: 2 } ] LET a = V8(ATTRIBUTES(doc)) RETURN V8(KEEP(doc, a))",
|
||||
"FOR doc IN [ { a: 1 }, { a: 2 } ] LET a = ATTRIBUTES(doc) RETURN KEEP(doc, a)",
|
||||
|
||||
// same loop
|
||||
|
|
|
@ -885,8 +885,6 @@ function ahuacatlQueryCollectionTestSuite () {
|
|||
];
|
||||
var actual = getQueryResults("FOR u in " + users.name() + " SORT u.id RETURN HASH(UNSET(u, ['_key', '_rev', '_id']))");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("FOR u in " + users.name() + " SORT u.id RETURN V8(HASH(UNSET(u, ['_key', '_rev', '_id'])))");
|
||||
assertEqual(expected, actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -897,8 +895,6 @@ function ahuacatlQueryCollectionTestSuite () {
|
|||
var expected = [ 1815371496337334 ];
|
||||
var actual = getQueryResults("RETURN HASH(FOR u in " + users.name() + " SORT u.id RETURN UNSET(u, ['_key', '_rev', '_id']))");
|
||||
assertEqual(expected, actual);
|
||||
actual = getQueryResults("RETURN V8(HASH(FOR u in " + users.name() + " SORT u.id RETURN UNSET(u, ['_key', '_rev', '_id'])))");
|
||||
assertEqual(expected, actual);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue