observable-array-no-leak-of-internals.window.js (579B)
1 "use strict"; 2 3 test(() => { 4 const observableArray = document.adoptedStyleSheets; 5 6 let leaked_target = null; 7 let leaked_handler = null; 8 9 let target_leaker = (target) => { leaked_target = target; return null; }; 10 Object.defineProperty(Object.prototype, "getPrototypeOf", {get: function() { 11 leaked_handler = this; 12 return target_leaker; 13 }}) 14 Object.getPrototypeOf(observableArray); 15 16 assert_equals(leaked_target, null, "The proxy target leaked."); 17 assert_equals(leaked_handler, null, "The proxy handler leaked."); 18 }, "ObservableArray's internals won't leak");