diff options
Diffstat (limited to 'js/src/tests/ecma_5/Object/15.2.3.9.js')
-rw-r--r-- | js/src/tests/ecma_5/Object/15.2.3.9.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/js/src/tests/ecma_5/Object/15.2.3.9.js b/js/src/tests/ecma_5/Object/15.2.3.9.js new file mode 100644 index 000000000..c73437fa7 --- /dev/null +++ b/js/src/tests/ecma_5/Object/15.2.3.9.js @@ -0,0 +1,51 @@ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ + +/* Object.freeze */ + +function getme() { return 42; }; +function setme(x) { }; + +var properties = { all: { value:1, writable:true, configurable:true, enumerable: true }, + readOnly: { value:2, writable:false, configurable:true, enumerable: true }, + nonConfig: { value:3, writable:true, configurable:false, enumerable: true }, + none: { value:4, writable:false, configurable:false, enumerable: true }, + getter: { get: getme, configurable:false, enumerable: true }, + setter: { set: setme, configurable:false, enumerable: true }, + getandset: { get: getme, set: setme, configurable:false, enumerable: true } + }; +var o = Object.defineProperties({}, properties); + +Object.freeze(o); + +function getPropertyOf(obj) { + return function (prop) { + return Object.getOwnPropertyDescriptor(obj, prop); + }; +}; + +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'all'), + { value: 1, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'readOnly'), + { value: 2, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'nonConfig'), + { value: 3, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'none'), + { value: 4, writable:false, enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'getter'), + { get: getme, set: (void 0), enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'setter'), + { set: setme, get: (void 0), enumerable:true, configurable:false }), + true); +assertEq(deepEqual(Object.getOwnPropertyDescriptor(o, 'getandset'), + { get: getme, set: setme, enumerable:true, configurable:false }), + true); + +reportCompare(true, true); |