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");