tor-browser

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

disposable-stack-properties.js (1290B)


      1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management
      2 
      3 load(libdir + "asserts.js");
      4 
      5 {
      6  assertEq(typeof DisposableStack, "function");
      7 
      8  assertDeepEq(Object.getOwnPropertyDescriptor(DisposableStack, 'prototype'), {
      9    value: DisposableStack.prototype,
     10    writable: false,
     11    enumerable: false,
     12    configurable: false,
     13  });
     14 }
     15 
     16 {
     17  assertDeepEq(Object.getOwnPropertyDescriptor(DisposableStack.prototype, Symbol.toStringTag), {
     18    value: 'DisposableStack',
     19    writable: false,
     20    enumerable: false,
     21    configurable: true
     22  });
     23 }
     24 
     25 {
     26  assertEq(typeof DisposableStack.prototype[Symbol.dispose], 'function');
     27  assertEq(DisposableStack.prototype[Symbol.dispose], DisposableStack.prototype.dispose);
     28  assertDeepEq(Object.getOwnPropertyDescriptor(DisposableStack.prototype, Symbol.dispose), {
     29    value: DisposableStack.prototype[Symbol.dispose],
     30    writable: true,
     31    enumerable: false,
     32    configurable: true,
     33  });
     34 }
     35 
     36 {
     37  assertThrowsInstanceOf(() => DisposableStack(), TypeError);
     38 }
     39 
     40 {
     41  const properties = ['dispose', 'adopt', 'defer', 'move', 'disposed', 'use', Symbol.dispose];
     42  for (const p of properties) {
     43    assertThrowsInstanceOf(() => {
     44      DisposableStack.prototype[p].call({});
     45    }, TypeError);
     46  }
     47 }