summaryrefslogtreecommitdiff
path: root/jstests/aggregation/bugs/server6779.js
blob: d6529732c6276f401a94bb50df4b742ecc48d2eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// server 6779: serializing ExpressionCoerceToBool
// This test only fails in debug mode with the bug since that tests round-tripping
(function() {
"use strict";

function test(op, val) {
    const coll = db.server6779;
    coll.drop();
    assert.commandWorked(coll.insert({a: true}));
    assert.commandWorked(coll.insert({a: false}));

    const obj = {};
    obj[op] = ['$a', val];
    const result = coll.aggregate([{$project: {_id: 0, bool: obj}}, {$sort: {bool: -1}}]);

    assert.eq(result.toArray(), [{bool: true}, {bool: false}]);
}
test('$and', true);
test('$or', false);
}());