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

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 // |jit-test| error: ExitCleanly
     3 assertEq((new (Proxy.createFunction({},
     4                                     function(){ this.x = 1 },
     5                                     function(){ this.x = 2 }))).x, 2);
     6 try {
     7     x = Proxy.createFunction((function () {}), Uint16Array, wrap)
     8     new(wrap(x))
     9     throw "Should not be reached"
    10 }
    11 catch (e) {
    12     assertEq(String(e.message).indexOf('is not a constructor') === -1, false);
    13 }
    14 // proxies can return the callee
    15 var x = Proxy.createFunction({}, function (q) { return q; });
    16 assertEq(new x(x), x);
    17 try {
    18     var x = (Proxy.createFunction({}, "".indexOf));
    19     new x;
    20     throw "Should not be reached"
    21 }
    22 catch (e) {
    23     assertEq(String(e.message).indexOf('is not a constructor') === -1, false);
    24 }
    25 throw "ExitCleanly"

mercurial