1 // Copyright (C) 2015 André Bargull. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
5 description: B.1.4 is not applied for Unicode RegExp - Production 'QuantifiableAssertion Quantifier'
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"
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"): ');