Chromium Code Reviews| 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"}); | |
|
Dmitry Lomov (no reviews)
2013/07/15 16:58:05
These properties are not object's own - they are o
| |
| 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 |