Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /*
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/licenses/publicdomain/
4 * Contributor: haytjes <hv1989@gmail.com>
5 */
7 /* Check the undefined pattern is equivalent to empty string. */
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');
16 /* Global flags. */
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*");
23 /* Undefined flags. */
25 var re = new RegExp(undefined, undefined);
26 assertEq(re.multiline, false);
27 assertEq(re.global, false);
28 assertEq(re.ignoreCase, false);
30 var re = new RegExp("test", undefined);
31 assertEq(re.multiline, false);
32 assertEq(re.global, false);
33 assertEq(re.ignoreCase, false);
35 /* Flags argument that requires toString. */
37 function Flags() {};
39 Flags.prototype.toString = function dogToString() { return ""; }
41 var re = new RegExp(undefined, new Flags());
42 assertEq(re.multiline, false);
43 assertEq(re.global, false);
44 assertEq(re.ignoreCase, false);
46 Flags.prototype.toString = function dogToString() { return "gim"; }
48 var re = new RegExp(undefined, new Flags());
49 assertEq(re.multiline, true);
50 assertEq(re.global, true);
51 assertEq(re.ignoreCase, true);