59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
description("Tests basic correctness of ES Set's clear() API");
|
|
|
|
// Set containing only String types.
|
|
var stringSet = new Set;
|
|
stringSet.add('Oliver');
|
|
stringSet.add('Benjamin');
|
|
|
|
stringSet.clear();
|
|
shouldBe("stringSet.size", "0");
|
|
shouldBe("stringSet.values.length", "0");
|
|
shouldBeFalse("stringSet.has('Oliver')");
|
|
shouldBeFalse("stringSet.has('Benjamin')");
|
|
|
|
// Set containing only primitive values.
|
|
var valueSet = new Set;
|
|
valueSet.add(0);
|
|
valueSet.add(1);
|
|
|
|
valueSet.clear();
|
|
shouldBe("valueSet.size", "0");
|
|
shouldBe("valueSet.values.length", "0");
|
|
shouldBeFalse("valueSet.has(0)");
|
|
shouldBeFalse("valueSet.has(1)");
|
|
|
|
// Set containing objects;
|
|
var objectSet = new Set;
|
|
var anArray = new Array;
|
|
objectSet.add(anArray);
|
|
var anObject = new Object;
|
|
objectSet.add(anObject);
|
|
var otherObject = {"a":1, "b":2};
|
|
objectSet.add(otherObject);
|
|
|
|
objectSet.clear();
|
|
shouldBe("objectSet.size", "0");
|
|
shouldBe("objectSet.values.length", "0");
|
|
shouldBeFalse("objectSet.has(anArray)");
|
|
shouldBeFalse("objectSet.has(anObject)");
|
|
shouldBeFalse("objectSet.has(otherObject)");
|
|
|
|
// Mixed types.
|
|
var mixedTypeSet = new Set;
|
|
mixedTypeSet.add(0);
|
|
mixedTypeSet.add('Oliver');
|
|
mixedTypeSet.add(stringSet);
|
|
mixedTypeSet.add(valueSet);
|
|
mixedTypeSet.add(objectSet);
|
|
mixedTypeSet.add(anObject);
|
|
|
|
mixedTypeSet.clear();
|
|
shouldBe("mixedTypeSet.size", "0");
|
|
shouldBe("mixedTypeSet.values.length", "0");
|
|
shouldBeFalse("mixedTypeSet.has(0)");
|
|
shouldBeFalse("mixedTypeSet.has('Oliver')");
|
|
shouldBeFalse("mixedTypeSet.has(stringSet)");
|
|
shouldBeFalse("mixedTypeSet.has(valueSet)");
|
|
shouldBeFalse("mixedTypeSet.has(objectSet)");
|
|
shouldBeFalse("mixedTypeSet.has(anObject)");
|