Patch from Raphael Speyer git-svn-id: svn://10.0.0.236/trunk@257475 18797224-902f-48f8-a5cc-f745e15eee43
43 lines
1.3 KiB
Plaintext
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
|