59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
description("Tests basic correctness of ES Map's clear() API");
|
|
|
|
// Map containing only String types.
|
|
var stringMap = new Map;
|
|
stringMap.set('Oliver', 'Hunt');
|
|
stringMap.set('Benjamin', 'Poulain');
|
|
|
|
stringMap.clear();
|
|
shouldBe("stringMap.size", "0");
|
|
shouldBe("stringMap.values.length", "0");
|
|
shouldBeFalse("stringMap.has('Oliver')");
|
|
shouldBeFalse("stringMap.has('Benjamin')");
|
|
|
|
// Map containing only primitive values.
|
|
var valueMap = new Map;
|
|
valueMap.set(0, 1);
|
|
valueMap.set(1, 2);
|
|
|
|
valueMap.clear();
|
|
shouldBe("valueMap.size", "0");
|
|
shouldBe("valueMap.values.length", "0");
|
|
shouldBeFalse("valueMap.has(0)");
|
|
shouldBeFalse("valueMap.has(1)");
|
|
|
|
// Map containing objects;
|
|
var objectMap = new Map;
|
|
var anArray = new Array;
|
|
objectMap.set(anArray, 0);
|
|
var anObject = new Object;
|
|
objectMap.set(anObject, 1);
|
|
var otherObject = {"a":1, "b":2};
|
|
objectMap.set(otherObject, 2);
|
|
|
|
objectMap.clear();
|
|
shouldBe("objectMap.size", "0");
|
|
shouldBe("objectMap.values.length", "0");
|
|
shouldBeFalse("objectMap.has(anArray)");
|
|
shouldBeFalse("objectMap.has(anObject)");
|
|
shouldBeFalse("objectMap.has(otherObject)");
|
|
|
|
// Mixed types.
|
|
var mixedTypeMap = new Map;
|
|
mixedTypeMap.set(0, objectMap);
|
|
mixedTypeMap.set('Oliver', stringMap);
|
|
mixedTypeMap.set(stringMap, valueMap);
|
|
mixedTypeMap.set(valueMap, anObject);
|
|
mixedTypeMap.set(objectMap, objectMap);
|
|
mixedTypeMap.set(anObject, stringMap);
|
|
|
|
mixedTypeMap.clear();
|
|
shouldBe("mixedTypeMap.size", "0");
|
|
shouldBe("mixedTypeMap.values.length", "0");
|
|
shouldBeFalse("mixedTypeMap.has(0)");
|
|
shouldBeFalse("mixedTypeMap.has('Oliver')");
|
|
shouldBeFalse("mixedTypeMap.has(stringMap)");
|
|
shouldBeFalse("mixedTypeMap.has(valueMap)");
|
|
shouldBeFalse("mixedTypeMap.has(objectMap)");
|
|
shouldBeFalse("mixedTypeMap.has(anObject)");
|