summaryrefslogtreecommitdiff
path: root/jstests/core/regex_limit.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/regex_limit.js')
-rw-r--r--jstests/core/regex_limit.js22
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) ]}});
+});
+