Previously, some evalX.js tests would assert that a drop returned true, meaning the collection existed. This may not true if two of these tests are run concurrently in the parallel suite, so these tests should not assert that the drop returns true.
26 lines
773 B
JavaScript
26 lines
773 B
JavaScript
assert.writeOK(db.evalprep.insert({}), "db must exist for eval to succeed");
|
|
db.evalprep.drop();
|
|
|
|
a = [1, "asd", null, [2, 3], new Date(), {x: 1}];
|
|
|
|
for (var i = 0; i < a.length; i++) {
|
|
var ret = db.eval("function( a , i ){ return a[i]; }", a, i);
|
|
assert.eq(typeof(a[i]), typeof(ret), "type test");
|
|
assert.eq(a[i], ret, "val test: " + typeof(a[i]));
|
|
}
|
|
|
|
db.eval9.drop();
|
|
db.eval9.save({a: 17});
|
|
|
|
assert.eq(1, db.eval("return db.eval9.find().toArray()").length, "A");
|
|
assert.eq(17, db.eval("return db.eval9.find().toArray()")[0].a, "B");
|
|
|
|
// just to make sure these things don't crash (but may throw an exception)
|
|
try {
|
|
db.eval("return db.eval9.find()");
|
|
db.eval("return db.eval9");
|
|
db.eval("return db");
|
|
db.eval("return print");
|
|
} catch (ex) {
|
|
}
|