js/src/jit-test/tests/basic/testReplaceWithLambda.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // optimized
     2 (function(b) {
     3     assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
     4 })({a:'A', b:'B' });
     5 (function() {
     6     var b = {a:'A', b:'B' };
     7     assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
     8 })();
     9 (function() {
    10     let (b = {a:'A', b:'B' }) {
    11         assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
    12     }
    13 })();
    14 (function() {
    15     var b = {a:'A', b:'B' };
    16     (function () {
    17         assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
    18     })();
    19 })();
    20 (function() {
    21     let (b = {a:'A', b:'B' }) {
    22         (function () {
    23             assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
    24         })();
    25     }
    26 })();
    27 (function() {
    28     var b = {a:'A', b:'B' };
    29     (function () {
    30         (function () {
    31             assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
    32         })();
    33     })();
    34 })();
    36 // not optimized:
    37 (function() {
    38     var b = {a:'A', b:'B' };
    39     with ({}) {
    40         (function () {
    41             assertEq("abc".replace(/a|b/g, function(a) { return b[a] }), 'ABc');
    42         })();
    43     }
    44 })();
    45 (function() {
    46    var b = {a:'A', b:'B' };
    47    var bad = function() { b = {a:1, b:2}; return 'X' }
    48    Object.defineProperty(b, 'x', {get:bad});
    49    assertEq("xabc".replace(/x|a|b/g, function(a) { return b[a] }), 'X12c');
    50 })();

mercurial