tor-browser

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

unicode_restricted_quantifiable_assertion.js (3064B)


      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 - 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 ---*/
     12 
     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"): ');
     32 
     33 
     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"): ');
     53 
     54 
     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"): ');
     74 
     75 
     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"): ');
     95 
     96 reportCompare(0, 0);