diff options
Diffstat (limited to 'jstests/core/regex_limit.js')
-rw-r--r-- | jstests/core/regex_limit.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/jstests/core/regex_limit.js b/jstests/core/regex_limit.js new file mode 100644 index 00000000000..e05dae8ab8b --- /dev/null +++ b/jstests/core/regex_limit.js @@ -0,0 +1,22 @@ +var t = db.regex_limit; +t.drop(); + +var repeatStr = function(str, n){ + return new Array(n + 1).join(str); +}; + +t.insert({ z: repeatStr('c', 100000) }); + +var maxOkStrLen = repeatStr('c', 32764); +var strTooLong = maxOkStrLen + 'c'; + +assert(t.findOne({ z: { $regex: maxOkStrLen }}) != null); +assert.throws(function() { + t.findOne({ z: { $regex: strTooLong }}); +}); + +assert(t.findOne({ z: { $in: [ new RegExp(maxOkStrLen) ]}}) != null); +assert.throws(function() { + t.findOne({ z: { $in: [ new RegExp(strTooLong) ]}}); +}); + |