summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/RegExp/quantifier-integer-limit.js
blob: 68a2f8cc55ab4d8048c801b01d4797911788cc6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 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.
  (although DecimalDigits could be arbitrary large integer)
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"));

reportCompare(0, 0);