70 lines
2.2 KiB
HTML
70 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<script type="application/javascript">
|
|
test(() => {
|
|
assert_true(!!window.internals);
|
|
const maplike = internals.createInternalsMapLike();
|
|
assert_array_equals(maplike.inspectKeys(), ["init"], "init keys");
|
|
assert_array_equals(maplike.inspectValues(), [0], "init values");
|
|
assert_true(maplike.has("init"));
|
|
|
|
maplike.set("testA", 1);
|
|
assert_array_equals(maplike.inspectKeys(), ["init", "testA"]);
|
|
assert_array_equals(maplike.inspectValues(), [0, 1]);
|
|
maplike.set("testA", 2);
|
|
assert_array_equals(maplike.inspectKeys(), ["init", "testA"]);
|
|
assert_array_equals(maplike.inspectValues(), [0, 2]);
|
|
maplike.set("testB", 3);
|
|
assert_array_equals(maplike.inspectKeys(), ["init", "testA", "testB"]);
|
|
assert_array_equals(maplike.inspectValues(), [0, 2, 3]);
|
|
|
|
maplike.delete("init");
|
|
assert_array_equals(maplike.inspectKeys(), ["testA", "testB"]);
|
|
assert_array_equals(maplike.inspectValues(), [2, 3]);
|
|
|
|
assert_equals(maplike.size, 2, "size");
|
|
|
|
let entriesTest = "";
|
|
for (let entry of maplike.entries()) {
|
|
entriesTest += entry;
|
|
entriesTest += ' ';
|
|
}
|
|
assert_equals(entriesTest, "testA,2 testB,3 ", "entries test");
|
|
|
|
let valuesTest = "";
|
|
for (let entry of maplike.values()) {
|
|
valuesTest += entry;
|
|
}
|
|
assert_equals(valuesTest, "23", "values test");
|
|
|
|
let keysTest = "";
|
|
for (let entry of maplike.keys()) {
|
|
keysTest += entry;
|
|
}
|
|
assert_equals(keysTest, "testAtestB", "keys test");
|
|
|
|
assert_equals(maplike.forEach.length, 1);
|
|
let forEachTest = "";
|
|
const forEachResult = maplike.forEach((value, key, object) => {
|
|
forEachTest += key;
|
|
forEachTest += ',';
|
|
forEachTest += value;
|
|
forEachTest += ' ';
|
|
assert_equals(object, maplike);
|
|
});
|
|
assert_equals(forEachTest, "testA,2 testB,3 ", "forEach test");
|
|
assert_equals(forEachResult, undefined);
|
|
|
|
maplike.clear();
|
|
assert_array_equals(maplike.inspectKeys(), []);
|
|
assert_array_equals(maplike.inspectValues(), []);
|
|
}, "Basic add/remove/clear functionality");
|
|
</script>
|
|
</body>
|
|
</html>
|