tor-browser

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

bug513898-regexp.js (1552B)


      1 /* 
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/licenses/publicdomain/
      4 * Contributor: haytjes <hv1989@gmail.com>
      5 */
      6 
      7 /* Check the undefined pattern is equivalent to empty string. */
      8 
      9 assertEq(RegExp(undefined).source, '(?:)');
     10 assertEq(RegExp(undefined).global, false);
     11 assertEq("test".replace(RegExp(undefined), "*"), '*test');
     12 assertEq(new RegExp(undefined).source, '(?:)');
     13 assertEq(new RegExp(undefined).global, false);
     14 assertEq('test'.replace(new RegExp(undefined), "*"), '*test');
     15 
     16 /* Global flags. */
     17 
     18 assertEq(new RegExp(undefined, "g").global, true);
     19 assertEq("test".replace(new RegExp(undefined, "g"), "*"), "*t*e*s*t*");
     20 assertEq(RegExp(undefined, "g").global, true);
     21 assertEq("test".replace(RegExp(undefined, "g"), "*"), "*t*e*s*t*");
     22 
     23 /* Undefined flags. */
     24 
     25 var re = new RegExp(undefined, undefined);
     26 assertEq(re.multiline, false);
     27 assertEq(re.global, false);
     28 assertEq(re.ignoreCase, false);
     29 
     30 var re = new RegExp("test", undefined);
     31 assertEq(re.multiline, false);
     32 assertEq(re.global, false);
     33 assertEq(re.ignoreCase, false);
     34 
     35 /* Flags argument that requires toString. */
     36 
     37 function Flags() {};
     38 
     39 Flags.prototype.toString = function dogToString() { return ""; }
     40 
     41 var re = new RegExp(undefined, new Flags());
     42 assertEq(re.multiline, false);
     43 assertEq(re.global, false);
     44 assertEq(re.ignoreCase, false);
     45 
     46 Flags.prototype.toString = function dogToString() { return "gim"; }
     47 
     48 var re = new RegExp(undefined, new Flags());
     49 assertEq(re.multiline, true);
     50 assertEq(re.global, true);
     51 assertEq(re.ignoreCase, true);