<!DOCTYPE html>
<html>
<head>
<link rel="help" href="https://dom.spec.whatwg.org/#dom-domtokenlist-toggle"/>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description("Tests the behavior of DOMTokenList.toggle()");

var div = document.createElement('div');

debug("* Not enough parameters");
shouldThrow("div.classList.toggle()", "'TypeError: Not enough arguments'");

debug("");
debug("* Token is an empty string");
shouldThrowErrorName("div.classList.toggle('')", "SyntaxError");

debug("");
debug("Token contains an ASCII white space");
var stringWithSpace = "a b";
shouldThrowErrorName("div.classList.toggle(stringWithSpace)", "InvalidCharacterError");
stringWithSpace = "a\nb";
shouldThrowErrorName("div.classList.toggle(stringWithSpace)", "InvalidCharacterError");
stringWithSpace = "a\tb";
shouldThrowErrorName("div.classList.toggle(stringWithSpace)", "InvalidCharacterError");
stringWithSpace = "a\rb";
shouldThrowErrorName("div.classList.toggle(stringWithSpace)", "InvalidCharacterError");
stringWithSpace = "a\fb";
shouldThrowErrorName("div.classList.toggle(stringWithSpace)", "InvalidCharacterError");

debug("");
debug("* 'force' parameter omitted, token does not exist");
evalAndLog("div.classList.toggle('a')");
shouldBeEqualToString("div.classList[0]", "a"); // Should add the class.

debug("");
debug("* 'force' parameter omitted, token exists");
evalAndLog("div.classList.toggle('a')");
shouldBe("div.classList.length", "0"); // Should remove the class.

debug("");
debug("* 'force' parameter is undefined, token does not exist");
evalAndLog("div.classList.toggle('a', undefined)");
shouldBeEqualToString("div.classList[0]", "a"); // Should add the class.

debug("");
debug("* 'force' parameter is undefined, token exists");
evalAndLog("div.classList.toggle('a', undefined)");
shouldBe("div.classList.length", "0"); // Should remove the class.

debug("");
debug("* 'force' parameter is false, token does not exist");
evalAndLog("div.classList.toggle('a', false)");
shouldBe("div.classList.length", "0"); // Should not add the class.

debug("");
debug("* 'force' parameter is true, token does not exist");
evalAndLog("div.classList.toggle('a', true)");
shouldBeEqualToString("div.classList[0]", "a"); // Should add the class.

debug("");
debug("* 'force' parameter is true, token exists");
evalAndLog("div.classList.toggle('a', true)");
shouldBeEqualToString("div.classList[0]", "a"); // Should not remove the class.

debug("");
debug("* 'force' parameter is false, token exists");
evalAndLog("div.classList.toggle('a', false)");
shouldBe("div.classList.length", "0"); // Should remove the class.
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
