205 lines
16 KiB
Plaintext
205 lines
16 KiB
Plaintext
Test to ensure correct behaviour of Object.getOwnPropertyDescriptor
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
PASS Object.getOwnPropertyDescriptor({}, 'undefinedProperty') is undefined.
|
|
PASS Object.getOwnPropertyDescriptor({definedProperty:'defined'}, 'definedProperty').value is "defined"
|
|
PASS Object.getOwnPropertyDescriptor({definedProperty:'defined'}, 'definedProperty').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor({definedProperty:'defined'}, 'definedProperty').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor({definedProperty:'defined'}, 'definedProperty').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor({definedProperty:'defined'}, 'definedProperty').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Array.prototype, 'concat').value is Array.prototype.concat
|
|
PASS Object.getOwnPropertyDescriptor(Array.prototype, 'concat').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Array.prototype, 'concat').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Array.prototype, 'concat').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Array.prototype, 'concat').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Date.prototype, 'toISOString').value is Date.prototype.toISOString
|
|
PASS Object.getOwnPropertyDescriptor(Date.prototype, 'toISOString').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Date.prototype, 'toISOString').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Date.prototype, 'toISOString').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Date.prototype, 'toISOString').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(String.prototype, 'concat').value is String.prototype.concat
|
|
PASS Object.getOwnPropertyDescriptor(String.prototype, 'concat').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(String.prototype, 'concat').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(String.prototype, 'concat').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(String.prototype, 'concat').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'exec').value is RegExp.prototype.exec
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'exec').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'exec').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'exec').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'exec').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').value is document.createElement
|
|
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').value is Number.NEGATIVE_INFINITY
|
|
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').get is RegExp$_Getter
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').set is RegExp$_Setter
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp, '$_').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Node, 'DOCUMENT_POSITION_DISCONNECTED').value is Node.DOCUMENT_POSITION_DISCONNECTED
|
|
PASS Object.getOwnPropertyDescriptor(Node, 'DOCUMENT_POSITION_DISCONNECTED').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Node, 'DOCUMENT_POSITION_DISCONNECTED').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Node, 'DOCUMENT_POSITION_DISCONNECTED').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(Node, 'DOCUMENT_POSITION_DISCONNECTED').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(Math, 'sin').value is Math.sin
|
|
PASS Object.getOwnPropertyDescriptor(Math, 'sin').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math, 'sin').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math, 'sin').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Math, 'sin').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 0).value is 1
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').value is 3
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').value is 3
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor([1,2,3], 'length').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 0).value is 'a'
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 'length').value is 2
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 'length').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 'length').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 'length').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(/(a)*/g.exec('a'), 'length').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(function(){}, 'length').value is 0
|
|
PASS Object.getOwnPropertyDescriptor(function(){}, 'length').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(function(){}, 'length').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(function(){}, 'length').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(function(){}, 'length').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').value is 1
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').value is 'sin'
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(global, 'global').value is global
|
|
PASS Object.getOwnPropertyDescriptor(global, 'global').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'global').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'global').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(global, 'global').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'undefined').value is undefined
|
|
PASS Object.getOwnPropertyDescriptor(global, 'undefined').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'undefined').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'undefined').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'undefined').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'NaN').value is NaN
|
|
PASS Object.getOwnPropertyDescriptor(global, 'NaN').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'NaN').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'NaN').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'NaN').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').value is Infinity
|
|
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').get is globalWindowGetter
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').set is undefined
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(global, 'window').configurable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').value is XMLHttpRequest
|
|
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(global, 0).value is global[0]
|
|
PASS Object.getOwnPropertyDescriptor(global, 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(global, 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(global, 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByTagName('div'), 0).value is document.getElementsByTagName('div')[0]
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByTagName('div'), 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByTagName('div'), 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByTagName('div'), 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByTagName('div'), 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByClassName('pass'), 0).value is document.getElementsByClassName('pass')[0]
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByClassName('pass'), 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByClassName('pass'), 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByClassName('pass'), 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(document.getElementsByClassName('pass'), 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(canvasPixelArray, 0).value is canvasPixelArray[0]
|
|
PASS Object.getOwnPropertyDescriptor(canvasPixelArray, 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(canvasPixelArray, 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(canvasPixelArray, 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(canvasPixelArray, 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(select, 0).value is select[0]
|
|
PASS Object.getOwnPropertyDescriptor(select, 0).hasOwnProperty('get') is false
|
|
PASS Object.getOwnPropertyDescriptor(select, 0).hasOwnProperty('set') is false
|
|
PASS Object.getOwnPropertyDescriptor(select, 0).enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(select, 0).configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').get is getterFunc
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').set is undefined
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithGetter, 'getter').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').get is undefined
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').set is setterFunc
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithSetter, 'setter').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').get is getterFunc
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').set is setterFunc
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').enumerable is true
|
|
PASS Object.getOwnPropertyDescriptor(objectWithAccessor, 'accessor').configurable is true
|
|
PASS Object.getOwnPropertyDescriptor(null) threw exception TypeError: null is not an object (evaluating 'Object.getOwnPropertyDescriptor(null)').
|
|
PASS Object.getOwnPropertyDescriptor(undefined) threw exception TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(undefined)').
|
|
PASS Object.getOwnPropertyDescriptor(1) is undefined
|
|
PASS Object.getOwnPropertyDescriptor('') is undefined
|
|
PASS Object.getOwnPropertyDescriptor(true) is undefined
|
|
PASS Object.getOwnPropertyDescriptor(false) is undefined
|
|
Checking property ordering
|
|
PASS property is 'value'
|
|
PASS property is 'writable'
|
|
PASS property is 'enumerable'
|
|
PASS property is 'configurable'
|
|
PASS property is 'get'
|
|
PASS property is 'set'
|
|
PASS property is 'enumerable'
|
|
PASS property is 'configurable'
|
|
PASS property is 'get'
|
|
PASS property is 'set'
|
|
PASS property is 'enumerable'
|
|
PASS property is 'configurable'
|
|
PASS property is 'get'
|
|
PASS property is 'set'
|
|
PASS property is 'enumerable'
|
|
PASS property is 'configurable'
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get is regexpPrototypeGlobalGetter
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').set is undefined
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').hasOwnProperty('value') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').hasOwnProperty('writable') is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').enumerable is false
|
|
PASS Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').configurable is true
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|