зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1341256 - Fix module namespace object get handler r=anba
This commit is contained in:
Родитель
0de0267fd3
Коммит
6f6fe80e74
|
@ -464,8 +464,10 @@ ModuleNamespaceObject::ProxyHandler::get(JSContext* cx, HandleObject proxy, Hand
|
||||||
|
|
||||||
ModuleEnvironmentObject* env;
|
ModuleEnvironmentObject* env;
|
||||||
Shape* shape;
|
Shape* shape;
|
||||||
if (!ns->bindings().lookup(id, &env, &shape))
|
if (!ns->bindings().lookup(id, &env, &shape)) {
|
||||||
return false;
|
vp.setUndefined();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
RootedValue value(cx, env->getSlot(shape->slot()));
|
RootedValue value(cx, env->getSlot(shape->slot()));
|
||||||
if (value.isMagic(JS_UNINITIALIZED_LEXICAL)) {
|
if (value.isMagic(JS_UNINITIALIZED_LEXICAL)) {
|
||||||
|
|
|
@ -45,6 +45,9 @@ b.evaluation();
|
||||||
testHasNames(getModuleEnvironmentNames(b), ["ns", "x"]);
|
testHasNames(getModuleEnvironmentNames(b), ["ns", "x"]);
|
||||||
let ns = getModuleEnvironmentValue(b, "ns");
|
let ns = getModuleEnvironmentValue(b, "ns");
|
||||||
testHasNames(Object.keys(ns), ["a", "b"]);
|
testHasNames(Object.keys(ns), ["a", "b"]);
|
||||||
|
assertEq(ns.a, 1);
|
||||||
|
assertEq(ns.b, 2);
|
||||||
|
assertEq(ns.c, undefined);
|
||||||
assertEq(getModuleEnvironmentValue(b, "x"), 3);
|
assertEq(getModuleEnvironmentValue(b, "x"), 3);
|
||||||
|
|
||||||
// Test module namespace internal methods as defined in 9.4.6
|
// Test module namespace internal methods as defined in 9.4.6
|
||||||
|
|
Загрузка…
Ссылка в новой задаче