diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-14 08:52:37 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-14 08:52:37 +0200 |
commit | 6452e3c9785260f21c5013d31e855e7b3e0497f4 (patch) | |
tree | 93cbcc1593efd16e5455711865b4790cbe5719c0 /js/src/jit-test/tests/modules | |
parent | e2719e1dbf7b706cd5ec8b3ecd899d2fc063c20f (diff) | |
download | UXP-6452e3c9785260f21c5013d31e855e7b3e0497f4.tar UXP-6452e3c9785260f21c5013d31e855e7b3e0497f4.tar.gz UXP-6452e3c9785260f21c5013d31e855e7b3e0497f4.tar.lz UXP-6452e3c9785260f21c5013d31e855e7b3e0497f4.tar.xz UXP-6452e3c9785260f21c5013d31e855e7b3e0497f4.zip |
Bug 1326453 - Part 4: Return @@toStringTag in [[OwnPropertyKeys]] trap for module namespace objects
Diffstat (limited to 'js/src/jit-test/tests/modules')
-rw-r--r-- | js/src/jit-test/tests/modules/import-namespace.js | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/js/src/jit-test/tests/modules/import-namespace.js b/js/src/jit-test/tests/modules/import-namespace.js index 27d0193aa..2094c27fe 100644 --- a/js/src/jit-test/tests/modules/import-namespace.js +++ b/js/src/jit-test/tests/modules/import-namespace.js @@ -19,9 +19,19 @@ function testHasNames(names, expected) { }); } +function testEqualArrays(actual, expected) { + assertEq(Array.isArray(actual), true); + assertEq(Array.isArray(expected), true); + assertEq(actual.length, expected.length); + for (let i = 0; i < expected.length; i++) { + assertEq(actual[i], expected[i]); + } +} + let a = moduleRepo['a'] = parseModule( - `export var a = 1; - export var b = 2;` + `// Reflection methods should return these exports alphabetically sorted. + export var b = 2; + export var a = 1;` ); let b = moduleRepo['b'] = parseModule( @@ -66,6 +76,11 @@ assertEq(typeof desc.get, "undefined"); assertEq(typeof desc.set, "undefined"); assertEq(Object.prototype.toString.call(ns), "[object Module]"); +// Test [[OwnPropertyKeys]] internal method. +testEqualArrays(Reflect.ownKeys(ns), ["a", "b", Symbol.toStringTag]); +testEqualArrays(Object.getOwnPropertyNames(ns), ["a", "b"]); +testEqualArrays(Object.getOwnPropertySymbols(ns), [Symbol.toStringTag]); + // Test cyclic namespace import and access in module evaluation. let c = moduleRepo['c'] = parseModule("export let c = 1; import * as ns from 'd'; let d = ns.d;"); |