tor-browser

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

preventExtensions-cross-global.js (1634B)


      1 // |reftest| skip-if(!xulRuntime.shell) -- needs newGlobal()
      2 /*
      3 * Any copyright is dedicated to the Public Domain.
      4 * http://creativecommons.org/licenses/publicdomain/
      5 * Contributor:
      6 *   Jeff Walden <jwalden+code@mit.edu>
      7 */
      8 
      9 var gTestfile = 'preventExtensions-cross-global.js';
     10 //-----------------------------------------------------------------------------
     11 var BUGNUMBER = 789897;
     12 var summary =
     13  "Object.preventExtensions and Object.isExtensible should work correctly " +
     14  "across globals";
     15 
     16 print(BUGNUMBER + ": " + summary);
     17 
     18 /**************
     19 * BEGIN TEST *
     20 **************/
     21 
     22 var otherGlobal = newGlobal();
     23 
     24 var obj = {};
     25 assertEq(otherGlobal.Object.isExtensible(obj), true);
     26 assertEq(otherGlobal.Object.preventExtensions(obj), obj);
     27 assertEq(otherGlobal.Object.isExtensible(obj), false);
     28 
     29 var objFromOther = otherGlobal.Object();
     30 assertEq(Object.isExtensible(objFromOther), true);
     31 assertEq(Object.preventExtensions(objFromOther), objFromOther);
     32 assertEq(Object.isExtensible(objFromOther), false);
     33 
     34 var proxy = new Proxy({}, {});
     35 assertEq(otherGlobal.Object.isExtensible(proxy), true);
     36 assertEq(otherGlobal.Object.preventExtensions(proxy), proxy);
     37 assertEq(otherGlobal.Object.isExtensible(proxy), false);
     38 
     39 var proxyFromOther = otherGlobal.evaluate("new Proxy({}, {})");
     40 assertEq(Object.isExtensible(proxyFromOther), true);
     41 assertEq(Object.preventExtensions(proxyFromOther), proxyFromOther);
     42 assertEq(Object.isExtensible(proxyFromOther), false);
     43 
     44 /******************************************************************************/
     45 
     46 if (typeof reportCompare === "function")
     47  reportCompare(true, true);
     48 
     49 print("Tests complete");