unicode_restricted_quantifier_without_atom.js (1595B)
1 // Copyright (C) 2015 André Bargull. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 description: B.1.4 is not applied for Unicode RegExp - Quantifier without matching Atom 6 info: | 7 The compatibility extensions defined in B.1.4 Regular Expressions Patterns 8 are not applied for Unicode RegExp. 9 Tested extension: "Atom[U] :: PatternCharacter" 10 es6id: 21.1.2 11 ---*/ 12 13 // Quantifier without atom. 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"): '); 32 33 34 // Reluctant quantifier without atom. 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"): '); 53 54 reportCompare(0, 0);