blob: b2958bb25a36dfda127ca1726c07deb740627555 [file] [log] [blame]
<!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 setlike = internals.createInternalsSetLike();
assert_array_equals(setlike.items(), ["init"]);
assert_true(setlike.has("init"));
setlike.add("test");
assert_array_equals(setlike.items(), ["init", "test"]);
setlike.add("test");
assert_array_equals(setlike.items(), ["init", "test"]);
setlike.add("test2");
assert_array_equals(setlike.items(), ["init", "test", "test2"]);
setlike.delete("init");
assert_array_equals(setlike.items(), ["test", "test2"]);
assert_equals(setlike.size, 2, "size");
let entriesTest = "";
for (let entry of setlike.entries()) {
entriesTest += entry;
}
assert_equals(entriesTest, "test,testtest2,test2", "entries test");
let valuesTest = "";
for (let entry of setlike.values()) {
valuesTest += entry;
}
assert_equals(valuesTest, "testtest2", "values test");
let keysTest = "";
for (let entry of setlike.keys()) {
keysTest += entry;
}
assert_equals(keysTest, "testtest2", "keys test");
setlike.clear();
assert_array_equals(setlike.items(), []);
}, "Basic add/remove/clear functionality");
</script>
</body>
</html>