tor-browser

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

non-extensible-elements8.js (1041B)


      1 function testSealNonExtensibleArray() {
      2    var obj = Object.preventExtensions([0]);
      3    var desc = {value: 0, writable: true, enumerable: true, configurable: true};
      4 
      5    var errorAt = -1;
      6    var N = 100;
      7 
      8    for (var i = 0; i <= N; ++i) {
      9        if (i === N) {
     10            Object.seal(obj);
     11        }
     12        try {
     13            Object.defineProperty(obj, 0, desc);
     14        } catch {
     15            errorAt = i;
     16        }
     17    }
     18    assertEq(errorAt, N);
     19 }
     20 for (var i = 0; i < 15; i++)
     21    testSealNonExtensibleArray();
     22 
     23 function testSealNonExtensibleObject() {
     24    var obj = Object.preventExtensions({0:1});
     25    var desc = {value: 0, writable: true, enumerable: true, configurable: true};
     26 
     27    var errorAt = -1;
     28    var N = 100;
     29 
     30    for (var i = 0; i <= N; ++i) {
     31        if (i === N) {
     32            Object.seal(obj);
     33        }
     34        try {
     35            Object.defineProperty(obj, 0, desc);
     36        } catch {
     37            errorAt = i;
     38        }
     39    }
     40    assertEq(errorAt, N);
     41 }
     42 for (var i = 0; i < 15; i++)
     43    testSealNonExtensibleObject();