From 669250d0989d08087d815810ce5005410a9c642b Mon Sep 17 00:00:00 2001 From: Alexey Shvayka Date: Wed, 12 Feb 2020 01:38:48 +0200 Subject: [PATCH] RegExp: Test Quantifier with large integer --- .../RegExp/quantifier-integer-limit.js | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/built-ins/RegExp/quantifier-integer-limit.js diff --git a/test/built-ins/RegExp/quantifier-integer-limit.js b/test/built-ins/RegExp/quantifier-integer-limit.js new file mode 100644 index 0000000000..f272529450 --- /dev/null +++ b/test/built-ins/RegExp/quantifier-integer-limit.js @@ -0,0 +1,35 @@ +// Copyright (C) 2020 Alexey Shvayka. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-quantifier +description: > + MV of DecimalDigits evaluates to 2 ** 53 - 1. +info: | + Quantifier + + The production QuantifierPrefix :: { DecimalDigits } evaluates as follows: + + 1. Let i be the MV of DecimalDigits (see 11.8.3). + 2. Return the two results i and i. + + The production QuantifierPrefix :: { DecimalDigits, } evaluates as follows: + + 1. Let i be the MV of DecimalDigits. + 2. Return the two results i and ∞. + + The production QuantifierPrefix :: { DecimalDigits, DecimalDigits } evaluates as follows: + + 1. Let i be the MV of the first DecimalDigits. + 2. Let j be the MV of the second DecimalDigits. + 3. Return the two results i and j. +---*/ + +var re1 = new RegExp("b{" + Number.MAX_SAFE_INTEGER + "}", "u"); +assert(!re1.test("")); + +var re2 = new RegExp("b{" + Number.MAX_SAFE_INTEGER + ",}?"); +assert(!re2.test("a")); + +var re3 = new RegExp("b{" + Number.MAX_SAFE_INTEGER + "," + Number.MAX_SAFE_INTEGER + "}"); +assert(!re3.test("b"));