Bug 1892041 - Part 2: Update test262. r=spidermonkey-reviewers,dminor
[gecko.git] / js / src / tests / test262 / built-ins / RegExp / unicode_restricted_quantifiable_assertion.js
blob988dac42f1bea167492cb3638072083eaf16864b
1 // Copyright (C) 2015 AndrĂ© Bargull. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /*---
5 description: B.1.4 is not applied for Unicode RegExp - Production 'QuantifiableAssertion Quantifier'
6 info: |
7     The compatibility extensions defined in B.1.4 Regular Expressions Patterns
8     are not applied for Unicode RegExps.
9     Tested extension: "ExtendedTerm :: QuantifiableAssertion Quantifier"
10 es6id: 21.1.2
11 ---*/
13 // Positive lookahead with quantifier.
14 assert.throws(SyntaxError, function() {
15   RegExp("(?=.)*", "u");
16 }, 'RegExp("(?=.)*", "u"): ');
17 assert.throws(SyntaxError, function() {
18   RegExp("(?=.)+", "u");
19 }, 'RegExp("(?=.)+", "u"): ');
20 assert.throws(SyntaxError, function() {
21   RegExp("(?=.)?", "u");
22 }, 'RegExp("(?=.)?", "u"): ');
23 assert.throws(SyntaxError, function() {
24   RegExp("(?=.){1}", "u");
25 }, 'RegExp("(?=.){1}", "u"): ');
26 assert.throws(SyntaxError, function() {
27   RegExp("(?=.){1,}", "u");
28 }, 'RegExp("(?=.){1,}", "u"): ');
29 assert.throws(SyntaxError, function() {
30   RegExp("(?=.){1,2}", "u");
31 }, 'RegExp("(?=.){1,2}", "u"): ');
34 // Positive lookahead with reluctant quantifier.
35 assert.throws(SyntaxError, function() {
36   RegExp("(?=.)*?", "u");
37 }, 'RegExp("(?=.)*?", "u"): ');
38 assert.throws(SyntaxError, function() {
39   RegExp("(?=.)+?", "u");
40 }, 'RegExp("(?=.)+?", "u"): ');
41 assert.throws(SyntaxError, function() {
42   RegExp("(?=.)??", "u");
43 }, 'RegExp("(?=.)??", "u"): ');
44 assert.throws(SyntaxError, function() {
45   RegExp("(?=.){1}?", "u");
46 }, 'RegExp("(?=.){1}?", "u"): ');
47 assert.throws(SyntaxError, function() {
48   RegExp("(?=.){1,}?", "u");
49 }, 'RegExp("(?=.){1,}?", "u"): ');
50 assert.throws(SyntaxError, function() {
51   RegExp("(?=.){1,2}?", "u");
52 }, 'RegExp("(?=.){1,2}?", "u"): ');
55 // Negative lookahead with quantifier.
56 assert.throws(SyntaxError, function() {
57   RegExp("(?!.)*", "u");
58 }, 'RegExp("(?!.)*", "u"): ');
59 assert.throws(SyntaxError, function() {
60   RegExp("(?!.)+", "u");
61 }, 'RegExp("(?!.)+", "u"): ');
62 assert.throws(SyntaxError, function() {
63   RegExp("(?!.)?", "u");
64 }, 'RegExp("(?!.)?", "u"): ');
65 assert.throws(SyntaxError, function() {
66   RegExp("(?!.){1}", "u");
67 }, 'RegExp("(?!.){1}", "u"): ');
68 assert.throws(SyntaxError, function() {
69   RegExp("(?!.){1,}", "u");
70 }, 'RegExp("(?!.){1,}", "u"): ');
71 assert.throws(SyntaxError, function() {
72   RegExp("(?!.){1,2}", "u");
73 }, 'RegExp("(?!.){1,2}", "u"): ');
76 // Negative lookahead with reluctant quantifier.
77 assert.throws(SyntaxError, function() {
78   RegExp("(?!.)*?", "u");
79 }, 'RegExp("(?!.)*?", "u"): ');
80 assert.throws(SyntaxError, function() {
81   RegExp("(?!.)+?", "u");
82 }, 'RegExp("(?!.)+?", "u"): ');
83 assert.throws(SyntaxError, function() {
84   RegExp("(?!.)??", "u");
85 }, 'RegExp("(?!.)??", "u"): ');
86 assert.throws(SyntaxError, function() {
87   RegExp("(?!.){1}?", "u");
88 }, 'RegExp("(?!.){1}?", "u"): ');
89 assert.throws(SyntaxError, function() {
90   RegExp("(?!.){1,}?", "u");
91 }, 'RegExp("(?!.){1,}?", "u"): ');
92 assert.throws(SyntaxError, function() {
93   RegExp("(?!.){1,2}?", "u");
94 }, 'RegExp("(?!.){1,2}?", "u"): ');
96 reportCompare(0, 0);