Mozilla/mozilla/js/rhino/testsrc/doctests/object.defineproperties.doctest
nboyd%atg.com e28c614fba ES5: create, defineProperty and defineProperties
Patch from Raphael Speyer


git-svn-id: svn://10.0.0.236/trunk@257475 18797224-902f-48f8-a5cc-f745e15eee43
2009-06-12 11:47:23 +00:00

43 lines
1.3 KiB
Plaintext

js> load('testsrc/doctests/util.js');
js> Object.defineProperties
function defineProperties() { [native code for Object.defineProperties, arity=2] }
js> expectTypeError(function() { Object.defineProperties() });
js> expectTypeError(function() { Object.defineProperties({}) });
js> [undefined, null, true, 1, 'hello'].forEach(function(value) {
> expectTypeError(function() { Object.defineProperties(value, {}) })
> })
js> Object.defineProperties({}, {p: {value:1}}).p
1
js> var obj = Object.defineProperties({}, {a: {value:1}, b: {value:2}});
js> [obj.a, obj.b].toSource();
[1, 2]
js> Object.defineProperties({}, {'wierd name': {value:1}})['wierd name']
1
js> Object.defineProperties({}, {}).toSource()
({})
js> var obj = {a:1};
js> var obj = Object.defineProperties(obj, {a:{value:2}, b:{value:3}});
js> [obj.a, obj.b].toSource()
[2, 3]
js> expectTypeError(function() { Object.defineProperties({}, {a: null}) })
js> expectTypeError(function() { Object.defineProperties({}, {a: 1}) })
js> expectTypeError(function() { Object.defineProperties({}, {a: {get: 1}}) })
js> var obj = {a:1}
js> expectTypeError(function() {
> obj = Object.defineProperties(obj, {b: {value:1}, c:1});
> });
js> obj.b
js>
js> Object.defineProperties({}, {'0.0': {value:1}, 0: {value:2}})['0']
2