diff options
Diffstat (limited to 'jstests/aggregation')
-rw-r--r-- | jstests/aggregation/expressions/arrayToObject.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/jstests/aggregation/expressions/arrayToObject.js b/jstests/aggregation/expressions/arrayToObject.js index 409bd8aee1f..c5f3ec358c2 100644 --- a/jstests/aggregation/expressions/arrayToObject.js +++ b/jstests/aggregation/expressions/arrayToObject.js @@ -72,4 +72,18 @@ assertPipelineErrors([{k: null, v: "nullKey"}], 40394); assertPipelineErrors([{k: undefined, v: "undefinedKey"}], 40394); assertPipelineErrors([{y: "ignored", k: "item", v: "pear"}], 40392); assertPipelineErrors(NaN, 40386); + +// Check that $arrayToObject produces an error when the key contains a null byte. +assertErrorCode( + coll, [{$replaceWith: {$arrayToObject: {$literal: [["a\0b", "abra cadabra"]]}}}], 4940400); +assertErrorCode( + coll, [{$replaceWith: {$arrayToObject: {$literal: [{k: "a\0b", v: "blah"}]}}}], 4940401); +assertErrorCode( + coll, + [{$replaceWith: {$arrayToObject: {$literal: [["a\0b", "abra cadabra"]]}}}, {$out: "output"}], + 4940400); +assertErrorCode( + coll, + [{$replaceWith: {$arrayToObject: {$literal: [{k: "a\0b", v: "blah"}]}}}, {$out: "output"}], + 4940401); }()); |