summaryrefslogtreecommitdiff
path: root/jstests/core/updateh.js
diff options
context:
space:
mode:
authorSiyuan Zhou <siyuan.zhou@mongodb.com>2014-02-19 12:45:53 -0500
committerMatt Kangas <matt.kangas@mongodb.com>2014-03-03 22:54:10 -0500
commit3660343e0b4627d2fee4afb89b74d32644d16d18 (patch)
treeffa571e0b73ce56d73c2ae23f458f0db772ef782 /jstests/core/updateh.js
parent9fae141a1f3fe652fa6002e47722c5ceb051cffb (diff)
downloadmongo-3660343e0b4627d2fee4afb89b74d32644d16d18.tar.gz
SERVER-12127 migrate js tests to jscore suite when not related to writes
Migrate js tests starting from j-z. Include SERVER-12920 Update use_power_of_2.js Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
Diffstat (limited to 'jstests/core/updateh.js')
-rw-r--r--jstests/core/updateh.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/jstests/core/updateh.js b/jstests/core/updateh.js
new file mode 100644
index 00000000000..4dfdba724e0
--- /dev/null
+++ b/jstests/core/updateh.js
@@ -0,0 +1,33 @@
+// Disallow $ in field names - SERVER-3730
+var res;
+
+t = db.jstest_updateh
+t.drop()
+
+t.insert( {x:1} )
+
+res = t.update( {x:1}, {$set: {y:1}} ) // ok
+assert.writeOK( res )
+
+res = t.update( {x:1}, {$set: {$z:1}} ) // not ok
+assert.writeError( res )
+
+// TODO: This shouldn't be supported, and it isn't with the new update framework, but we
+// currently don't have a good way to check which mode we are in. When we do have that, add
+// this test guarded under that condition. Or, when we remove the old update path just enable
+// this test.
+//
+// res = t.update( {x:1}, {$set: {'a.$b':1}} ) // not ok
+// assert.writeError( res )
+
+res = t.update( {x:1}, {$unset: {$z:1}} ) // unset ok to remove bad fields
+assert.writeOK( res )
+
+res = t.update( {x:1}, {$inc: {$z:1}} ) // not ok
+assert.writeError( res )
+
+res = t.update( {x:1}, {$pushAll: {$z:[1,2,3]}} ) // not ok
+assert.writeError( res )
+
+res = t.update( {x:1}, {$pushAll: {z:[1,2,3]}} ) // ok
+assert.writeOK( res )