WeakSet-surface.js (1075B)
1 // WeakSet surfaces 2 3 var desc = Object.getOwnPropertyDescriptor(this, "WeakSet"); 4 assertEq(desc.enumerable, false); 5 assertEq(desc.configurable, true); 6 assertEq(desc.writable, true); 7 8 assertEq(typeof WeakSet, 'function'); 9 assertEq(Object.keys(WeakSet).length, 0); 10 assertEq(WeakSet.length, 0); 11 assertEq(WeakSet.name, "WeakSet"); 12 13 assertEq(Object.getPrototypeOf(WeakSet.prototype), Object.prototype); 14 assertEq(Object.prototype.toString.call(WeakSet.prototype), "[object WeakSet]"); 15 assertEq(Object.prototype.toString.call(new WeakSet), "[object WeakSet]"); 16 assertEq(Object.keys(WeakSet.prototype).length, 0); 17 assertEq(WeakSet.prototype.constructor, WeakSet); 18 19 function checkMethod(name, arity) { 20 var desc = Object.getOwnPropertyDescriptor(WeakSet.prototype, name); 21 assertEq(desc.enumerable, false); 22 assertEq(desc.configurable, true); 23 assertEq(desc.writable, true); 24 assertEq(typeof desc.value, 'function'); 25 assertEq(desc.value.name, name); 26 assertEq(desc.value.length, arity); 27 } 28 29 checkMethod("has", 1); 30 checkMethod("add", 1); 31 checkMethod("delete", 1);