72 lines
2.7 KiB
HTML
72 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
function test()
|
|
{
|
|
let suite = InspectorTest.createSyncSuite("Map");
|
|
|
|
suite.addTestCase({
|
|
name: "Map.fromObject",
|
|
test() {
|
|
const key1 = "key1";
|
|
const key2 = "key2";
|
|
const value1 = "value1";
|
|
const value2 = 200;
|
|
const object = {
|
|
[key1]: value1,
|
|
[key2]: value2,
|
|
};
|
|
|
|
let map = Map.fromObject(object);
|
|
InspectorTest.expectEqual(map.size, 2, "Map from simple object should have size 2.");
|
|
InspectorTest.expectThat(Array.shallowEqual(Array.from(map.keys()), [key1, key2]), "Map from simple object should have keys: key1 and key2.");
|
|
InspectorTest.expectThat(Array.shallowEqual(Array.from(map.values()), [value1, value2]), "Map from simple object should have values: value1 and value2.");
|
|
|
|
let emptyMap = Map.fromObject({});
|
|
InspectorTest.expectEqual(emptyMap.size, 0, "Map from empty object should be empty.");
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "Map.prototype.take",
|
|
test() {
|
|
const key = "key";
|
|
const value = "value";
|
|
|
|
let map = new Map;
|
|
map.set(key, value);
|
|
InspectorTest.expectTrue(map.has(key), "Map has `key`.");
|
|
InspectorTest.expectEqual(map.get(key), value, "Map has `key` => `value`.");
|
|
InspectorTest.expectEqual(map.take(key), value, "Map take `key` => `value`.");
|
|
InspectorTest.expectFalse(map.has(key), "Map does not have `key`.");
|
|
InspectorTest.expectEqual(map.get(key), undefined, "Map has `key` => `undefined`.");
|
|
InspectorTest.expectEqual(map.take("doesNotExistKey"), undefined, "Map take `doesNotExistKey` => `undefined`.");
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "Map.prototype.getOrInitialize",
|
|
test() {
|
|
const key = "key";
|
|
const value = "value";
|
|
const value2 = "value2";
|
|
|
|
let map = new Map;
|
|
InspectorTest.expectEqual(map.get(key), undefined, "Map does not have `key`.");
|
|
InspectorTest.expectEqual(map.getOrInitialize(key, value), value, "Map should have initialized `key` with `value`.");
|
|
InspectorTest.expectEqual(map.get(key), value, "Map does have `key` => `value`.");
|
|
InspectorTest.expectEqual(map.getOrInitialize(key, value2), value, "Map should get `key` with `value` without re-initializing.");
|
|
InspectorTest.expectEqual(map.get(key), value, "Map still has `key` => `value`.");
|
|
}
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onLoad="runTest()">
|
|
</body>
|
|
</html>
|