зеркало из https://github.com/mozilla/gecko-dev.git
Bug 547087 - JS_EnumerateStandardClasses uses non-configurable, not non-configurable/non-writable, as attributes for global.undefined. r=jorendorff
This commit is contained in:
Родитель
3b2eafa186
Коммит
0dea5494a3
|
@ -1480,7 +1480,8 @@ JS_EnumerateStandardClasses(JSContext *cx, JSObject *obj)
|
|||
atom = rt->atomState.typeAtoms[JSTYPE_VOID];
|
||||
if (!AlreadyHasOwnProperty(cx, obj, atom) &&
|
||||
!obj->defineProperty(cx, ATOM_TO_JSID(atom), JSVAL_VOID,
|
||||
JS_PropertyStub, JS_PropertyStub, JSPROP_PERMANENT)) {
|
||||
JS_PropertyStub, JS_PropertyStub,
|
||||
JSPROP_PERMANENT | JSPROP_READONLY)) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
*/
|
||||
|
||||
var gTestfile = 'enumerate-undefined.js';
|
||||
//-----------------------------------------------------------------------------
|
||||
var BUGNUMBER = 547087;
|
||||
var summary = 'JS_EnumerateStandardClasses uses wrong attributes for undefined';
|
||||
|
||||
print(BUGNUMBER + ": " + summary);
|
||||
|
||||
/**************
|
||||
* BEGIN TEST *
|
||||
**************/
|
||||
|
||||
for (var p in this);
|
||||
|
||||
assertEq(Object.getOwnPropertyDescriptor(this, "undefined").writable, false);
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
reportCompare(true, true);
|
||||
|
||||
print("All tests passed!");
|
|
@ -1,3 +1,4 @@
|
|||
url-prefix ../../jsreftest.html?test=ecma_5/misc/
|
||||
script global-numeric-properties.js
|
||||
script redeclare-var-non-writable-property.js
|
||||
script enumerate-undefined.js
|
||||
|
|
Загрузка…
Ссылка в новой задаче