diff options
Diffstat (limited to 'jstests/aggregation/expressions/indexof_array.js')
-rw-r--r-- | jstests/aggregation/expressions/indexof_array.js | 82 |
1 files changed, 45 insertions, 37 deletions
diff --git a/jstests/aggregation/expressions/indexof_array.js b/jstests/aggregation/expressions/indexof_array.js index 3fb445e5066..a32376b1f9d 100644 --- a/jstests/aggregation/expressions/indexof_array.js +++ b/jstests/aggregation/expressions/indexof_array.js @@ -3,58 +3,66 @@ load("jstests/aggregation/extras/utils.js"); // For assertErrorCode and testExpression. (function() { - "use strict"; +"use strict"; - var coll = db.indexofarray; - coll.drop(); +var coll = db.indexofarray; +coll.drop(); - // Insert a dummy document to ensure something flows through the pipeline. - assert.writeOK(coll.insert({})); +// Insert a dummy document to ensure something flows through the pipeline. +assert.writeOK(coll.insert({})); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2]}, 1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2]}, 1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 4]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 4]}, -1); - testExpression(coll, {$indexOfArray: [[1, 2, 3, 2, 1], 2, 2]}, 3); +testExpression(coll, {$indexOfArray: [[1, 2, 3, 2, 1], 2, 2]}, 3); - testExpression(coll, {$indexOfArray: [[1, 2, 3, 4, 5], 4, 0, 3]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3, 4, 5], 4, 0, 3]}, -1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 1]}, 1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 1]}, 1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 0, 10]}, 1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 0, 10]}, 1); - testExpression(coll, {$indexOfArray: [[1, 2, 3, 2, 1, 2, 3], 2, 2, 4]}, 3); +testExpression(coll, {$indexOfArray: [[1, 2, 3, 2, 1, 2, 3], 2, 2, 4]}, 3); - testExpression(coll, {$indexOfArray: [null, 2]}, null); +testExpression(coll, {$indexOfArray: [null, 2]}, null); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3]}, -1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 1]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 1]}, -1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 3]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 3]}, -1); - testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 5]}, -1); +testExpression(coll, {$indexOfArray: [[1, 2, 3], 2, 3, 5]}, -1); - testExpression(coll, {$indexOfArray: [[], 1]}, -1); +testExpression(coll, {$indexOfArray: [[], 1]}, -1); - var pipeline = { - $project: { - output: { - $indexOfArray: ["string", "s"], - } +var pipeline = { + $project: { + output: { + $indexOfArray: ["string", "s"], } - }; - assertErrorCode(coll, pipeline, 40090); - - pipeline = {$project: {output: {$indexOfArray: [[1, 2, 3], 2, "bad"]}}}; - assertErrorCode(coll, pipeline, 40096); - - pipeline = {$project: {output: {$indexOfArray: [[1, 2, 3], 2, 0, "bad"]}}}; - assertErrorCode(coll, pipeline, 40096); - - pipeline = {$project: {output: {$indexOfArray: [[1, 2, 3], 2, -1]}}}; - assertErrorCode(coll, pipeline, 40097); - - pipeline = {$project: {output: {$indexOfArray: [[1, 2, 3], 2, 1, -1]}}}; - assertErrorCode(coll, pipeline, 40097); + } +}; +assertErrorCode(coll, pipeline, 40090); + +pipeline = { + $project: {output: {$indexOfArray: [[1, 2, 3], 2, "bad"]}} +}; +assertErrorCode(coll, pipeline, 40096); + +pipeline = { + $project: {output: {$indexOfArray: [[1, 2, 3], 2, 0, "bad"]}} +}; +assertErrorCode(coll, pipeline, 40096); + +pipeline = { + $project: {output: {$indexOfArray: [[1, 2, 3], 2, -1]}} +}; +assertErrorCode(coll, pipeline, 40097); + +pipeline = { + $project: {output: {$indexOfArray: [[1, 2, 3], 2, 1, -1]}} +}; +assertErrorCode(coll, pipeline, 40097); }()); |