summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-14 08:52:37 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-14 08:52:37 +0200
commit6452e3c9785260f21c5013d31e855e7b3e0497f4 (patch)
tree93cbcc1593efd16e5455711865b4790cbe5719c0 /js/src/jit-test/tests
parente2719e1dbf7b706cd5ec8b3ecd899d2fc063c20f (diff)
downloadUXP-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')
-rw-r--r--js/src/jit-test/tests/modules/import-namespace.js19
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;");