tor-browser

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

observable-array-ownkeys.window.js (1260B)


      1 "use strict";
      2 
      3 test(() => {
      4  const observableArray = document.adoptedStyleSheets;
      5  assert_array_equals(
      6      Object.getOwnPropertyNames(observableArray),
      7      ["length"],
      8      "Initially only \"length\".");
      9 
     10  observableArray["zzz"] = true;
     11  observableArray["aaa"] = true;
     12  assert_array_equals(
     13      Object.getOwnPropertyNames(observableArray),
     14      ["length", "zzz", "aaa"],
     15      "Own properties whose key is a string have been added.");
     16 
     17  observableArray[0] = new CSSStyleSheet();
     18  observableArray[1] = new CSSStyleSheet();
     19  assert_array_equals(
     20      Object.getOwnPropertyNames(observableArray),
     21      ["0", "1", "length", "zzz", "aaa"],
     22      "Own properties whose key is an array index have been added.");
     23 
     24  observableArray[Symbol.toStringTag] = "string_tag";
     25  observableArray[Symbol.toPrimitive] = "primitive";
     26  assert_array_equals(
     27      Object.getOwnPropertyNames(observableArray),
     28      ["0", "1", "length", "zzz", "aaa"],
     29      "Own properties whose key is a symbol have been added (non-symbol).");
     30  assert_array_equals(
     31      Object.getOwnPropertySymbols(observableArray),
     32      [Symbol.toStringTag, Symbol.toPrimitive],
     33      "Own properties whose key is a symbol have been added (symbol).");
     34 }, "ObservableArray's ownKeys trap");