From 9c71ee48c7dc9e4c49006bfcd33218f13064a5c0 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 4 Nov 2014 20:38:56 +0000 Subject: [PATCH] and more --- .../aql-optimizer-rule-replace-OR-with-IN.js | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/js/server/tests/aql-optimizer-rule-replace-OR-with-IN.js b/js/server/tests/aql-optimizer-rule-replace-OR-with-IN.js index c878365b79..7fdd028134 100644 --- a/js/server/tests/aql-optimizer-rule-replace-OR-with-IN.js +++ b/js/server/tests/aql-optimizer-rule-replace-OR-with-IN.js @@ -323,6 +323,47 @@ function NewAqlReplaceORWithINTestSuite () { assertEqual(executeWithRule(query, {}), executeWithoutRule(query, {})); assertEqual(expected, executeWithoutRule(query, {})); }, + + testFiresNonsense1: function () { + var query = + "FOR v in " + replace.name() + + " FILTER 1 == 2 || v.value == 2 || v.value == 3 SORT v.value RETURN v.value" ; + + isRuleUsed(query, {}); + + var expected = [ 2, 3 ]; + var actual = getQueryResults(query, {}); + assertEqual(expected, actual); + assertEqual(executeWithRule(query, {}), executeWithoutRule(query, {})); + assertEqual(expected, executeWithoutRule(query, {})); + }, + + testFiresNonsense2: function () { + var query = "FOR v in " + replace.name() + + " FILTER 1 == 2 || 2 == v.value || v.value == 3 SORT v.value RETURN v.value"; + + isRuleUsed(query, {}); + + var expected = [ 2, 3 ]; + var actual = getQueryResults(query, {}); + assertEqual(expected, actual); + assertEqual(executeWithRule(query, {}), executeWithoutRule(query, {})); + assertEqual(expected, executeWithoutRule(query, {})); + }, + + testFiresNonsense3: function () { + var query = + "FOR v in " + replace.name() + + " FILTER v.value == 2 || 3 == v.value || 1 == 2 SORT v.value RETURN v.value"; + + isRuleUsed(query, {}); + + var expected = [ 2, 3 ]; + var actual = getQueryResults(query, {}); + assertEqual(expected, actual); + assertEqual(executeWithRule(query, {}), executeWithoutRule(query, {})); + assertEqual(expected, executeWithoutRule(query, {})); + }, testDudDifferentAttributes1 : function () { var query =