| This test checks that constructor properties are not enumeratable, but are writable deletable. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS (function () { }).prototype.hasOwnProperty('constructor') is true |
| PASS canEnum((function () { }).prototype, 'constructor') is false |
| PASS x = (function () { }).prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = (function () { }).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS declaredFunction.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(declaredFunction.prototype, 'constructor') is false |
| PASS x = declaredFunction.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = declaredFunction.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS (new Function).prototype.hasOwnProperty('constructor') is true |
| PASS canEnum((new Function).prototype, 'constructor') is false |
| PASS x = (new Function).prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = (new Function).prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Array.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Array.prototype, 'constructor') is false |
| PASS x = Array.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Array.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Boolean.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Boolean.prototype, 'constructor') is false |
| PASS x = Boolean.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Boolean.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Date.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Date.prototype, 'constructor') is false |
| PASS x = Date.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Date.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Error.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Error.prototype, 'constructor') is false |
| PASS x = Error.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Error.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS EvalError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(EvalError.prototype, 'constructor') is false |
| PASS x = EvalError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = EvalError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Function.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Function.prototype, 'constructor') is false |
| PASS x = Function.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Function.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Number.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Number.prototype, 'constructor') is false |
| PASS x = Number.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Number.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS Object.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(Object.prototype, 'constructor') is false |
| PASS x = Object.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = Object.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS RangeError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(RangeError.prototype, 'constructor') is false |
| PASS x = RangeError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = RangeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS ReferenceError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(ReferenceError.prototype, 'constructor') is false |
| PASS x = ReferenceError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = ReferenceError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS RegExp.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(RegExp.prototype, 'constructor') is false |
| PASS x = RegExp.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = RegExp.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS String.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(String.prototype, 'constructor') is false |
| PASS x = String.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = String.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS SyntaxError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(SyntaxError.prototype, 'constructor') is false |
| PASS x = SyntaxError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = SyntaxError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS TypeError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(TypeError.prototype, 'constructor') is false |
| PASS x = TypeError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = TypeError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS URIError.prototype.hasOwnProperty('constructor') is true |
| PASS canEnum(URIError.prototype, 'constructor') is false |
| PASS x = URIError.prototype; x.constructor = 4; x.constructor is 4 |
| PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS document.createTextNode('').__proto__.hasOwnProperty('constructor') is true |
| PASS canEnum(document.createTextNode('').__proto__, 'constructor') is false |
| PASS x = document.createTextNode('').__proto__; x.constructor = 4; x.constructor is 4 |
| PASS x = document.createTextNode('').__proto__; delete x.constructor; x.hasOwnProperty('constructor') is false |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |