tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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);