OLD | NEW |
1 description("Test to ensure correct behaviour of Object.getOwnPropertyDescriptor
"); | 1 description("Test to ensure correct behaviour of Object.getOwnPropertyDescriptor
"); |
2 | 2 |
3 function descriptorShouldBe(object, property, expected) { | 3 function descriptorShouldBe(object, property, expected) { |
4 var test = 'Object.getOwnPropertyDescriptor('+object+", "+property+')'; | 4 var test = 'Object.getOwnPropertyDescriptor('+object+", "+property+')'; |
5 if ("writable" in expected) { | 5 if ("writable" in expected) { |
6 // shouldBe(test+'.writable', '' + expected.writable); | 6 // shouldBe(test+'.writable', '' + expected.writable); |
7 shouldBe(test+'.value', '' + expected.value); | 7 shouldBe(test+'.value', '' + expected.value); |
8 shouldBeFalse(test+".hasOwnProperty('get')"); | 8 shouldBeFalse(test+".hasOwnProperty('get')"); |
9 shouldBeFalse(test+".hasOwnProperty('set')"); | 9 shouldBeFalse(test+".hasOwnProperty('set')"); |
10 } else { | 10 } else { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 descriptorShouldBe("global", "'NaN'", {writable: false, enumerable: false, confi
gurable: false, value:"NaN"}); | 43 descriptorShouldBe("global", "'NaN'", {writable: false, enumerable: false, confi
gurable: false, value:"NaN"}); |
44 descriptorShouldBe("global", "'Infinity'", {writable: false, enumerable: false,
configurable: false, value:"Infinity"}); | 44 descriptorShouldBe("global", "'Infinity'", {writable: false, enumerable: false,
configurable: false, value:"Infinity"}); |
45 descriptorShouldBe("global", "'window'", {writable: false, enumerable: true, con
figurable: false, value:"global"}); | 45 descriptorShouldBe("global", "'window'", {writable: false, enumerable: true, con
figurable: false, value:"global"}); |
46 descriptorShouldBe("global", "'XMLHttpRequest'", {writable: true, enumerable: fa
lse, configurable: true, value:"XMLHttpRequest"}); | 46 descriptorShouldBe("global", "'XMLHttpRequest'", {writable: true, enumerable: fa
lse, configurable: true, value:"XMLHttpRequest"}); |
47 descriptorShouldBe("global", "'length'", {writable: true, enumerable: true, conf
igurable: false, value:"global.length"}); | 47 descriptorShouldBe("global", "'length'", {writable: true, enumerable: true, conf
igurable: false, value:"global.length"}); |
48 descriptorShouldBe("global", "0", {writable: true, enumerable: false, configurab
le: false, value:"global[0]"}); | 48 descriptorShouldBe("global", "0", {writable: true, enumerable: false, configurab
le: false, value:"global[0]"}); |
49 descriptorShouldBe("document.getElementsByTagName('div')", "'length'", {writable
: false, enumerable: true, configurable: false, value:"1"}); | 49 descriptorShouldBe("document.getElementsByTagName('div')", "'length'", {writable
: false, enumerable: true, configurable: false, value:"1"}); |
50 descriptorShouldBe("document.getElementsByTagName('div')", "0", {writable: false
, enumerable: true, configurable: false, value:"document.getElementsByTagName('d
iv')[0]"}); | 50 descriptorShouldBe("document.getElementsByTagName('div')", "0", {writable: false
, enumerable: true, configurable: false, value:"document.getElementsByTagName('d
iv')[0]"}); |
51 descriptorShouldBe("document.getElementsByClassName('pass')", "0", {writable: fa
lse, enumerable: true, configurable: false, value:"document.getElementsByClassNa
me('pass')[0]"}); | 51 descriptorShouldBe("document.getElementsByClassName('pass')", "0", {writable: fa
lse, enumerable: true, configurable: false, value:"document.getElementsByClassNa
me('pass')[0]"}); |
52 descriptorShouldBe("document.getElementsByClassName('pass')", "'length'", {writa
ble: false, enumerable: true, configurable: false, value:"document.getElementsBy
ClassName('pass').length"}); | 52 descriptorShouldBe("document.getElementsByClassName('pass')", "'length'", {writa
ble: false, enumerable: true, configurable: false, value:"document.getElementsBy
ClassName('pass').length"}); |
53 var canvas = document.createElement("canvas"); | |
54 var canvasPixelArray = canvas.getContext("2d").createImageData(10,10).data; | |
55 descriptorShouldBe("canvasPixelArray", "'length'", {writable: false, enumerable:
true, configurable: false, value:"canvasPixelArray.length"}); | |
56 descriptorShouldBe("canvasPixelArray", "0", {writable: true, enumerable: true, c
onfigurable: false, value:"canvasPixelArray[0]"}); | |
57 var select = document.createElement("select"); | 53 var select = document.createElement("select"); |
58 select.innerHTML = "<option>foo</option>"; | 54 select.innerHTML = "<option>foo</option>"; |
59 descriptorShouldBe("select", "'length'", {writable: false, enumerable: true, con
figurable: false, value:"select.length"}); | 55 descriptorShouldBe("select", "'length'", {writable: false, enumerable: true, con
figurable: false, value:"select.length"}); |
60 descriptorShouldBe("select", "0", {writable: true, enumerable: true, configurabl
e: false, value:"select[0]"}); | 56 descriptorShouldBe("select", "0", {writable: true, enumerable: true, configurabl
e: false, value:"select[0]"}); |
61 | 57 |
62 var objectWithGetter = {}; | 58 var objectWithGetter = {}; |
63 function getterFunc(){}; | 59 function getterFunc(){}; |
64 objectWithGetter.__defineGetter__("getter", getterFunc); | 60 objectWithGetter.__defineGetter__("getter", getterFunc); |
65 descriptorShouldBe("objectWithGetter", "'getter'", {"get": "getterFunc", "set":
undefined, enumerable: true, configurable: true}); | 61 descriptorShouldBe("objectWithGetter", "'getter'", {"get": "getterFunc", "set":
undefined, enumerable: true, configurable: true}); |
66 var objectWithSetter = {}; | 62 var objectWithSetter = {}; |
(...skipping 20 matching lines...) Expand all Loading... |
87 shouldBe('property', normalOrder[i++]); | 83 shouldBe('property', normalOrder[i++]); |
88 i = 0; | 84 i = 0; |
89 for (var property in Object.getOwnPropertyDescriptor(objectWithGetter, "getter")
) | 85 for (var property in Object.getOwnPropertyDescriptor(objectWithGetter, "getter")
) |
90 shouldBe('property', accessorOrder[i++]); | 86 shouldBe('property', accessorOrder[i++]); |
91 i = 0; | 87 i = 0; |
92 for (var property in Object.getOwnPropertyDescriptor(objectWithSetter, "setter")
) | 88 for (var property in Object.getOwnPropertyDescriptor(objectWithSetter, "setter")
) |
93 shouldBe('property', accessorOrder[i++]); | 89 shouldBe('property', accessorOrder[i++]); |
94 i = 0; | 90 i = 0; |
95 for (var property in Object.getOwnPropertyDescriptor(objectWithAccessor, "access
or")) | 91 for (var property in Object.getOwnPropertyDescriptor(objectWithAccessor, "access
or")) |
96 shouldBe('property', accessorOrder[i++]); | 92 shouldBe('property', accessorOrder[i++]); |
OLD | NEW |