Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Color Level 4: Parsing and serialization of colors using invalid HSL notation</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
tests = [
["hsl(none, none, none)", "The none keyword is invalid in legacy color syntax"],
["hsla(none, none, none, none)", "The none keyword is invalid in legacy color syntax"],
["hsl(none, 100%, 50%)", "The none keyword is invalid in legacy color syntax"],
["hsla(120, 100%, 50%, none)", "The none keyword is invalid in legacy color syntax"],
["hsl(10, 50%, 0)", "The second and third parameters of hsl/hsla must be a percent in legacy color syntax"],
["hsl(50%, 50%, 0%)", "The first parameter of hsl/hsla must be a number or angle"],
["hsl(0, 0% 0%)", "Modern color syntax requires no commas at all"],
["hsl(0, 0%, light)", "Keywords are not accepted in the hsl function"],
["hsl()", "The hsl function requires 3 or 4 arguments"],
["hsl(0)", "The hsl function requires 3 or 4 arguments"],
["hsl(0, 0%)", "The hsl function requires 3 or 4 arguments"],
["hsl(0, 50, 30%)", "The legacy color syntax does not allow numbers for saturation"],
["hsl(0, 50%, 30)", "The legacy color syntax does not allow numbers for lightness"],
["hsla(10, 50%, 0, 1)", "The second and third parameters of hsl/hsla must be a percent in legacy color syntax"],
["hsla(50%, 50%, 0%, 1)", "The first parameter of hsl/hsla must be a number or angle"],
["hsla(0, 0% 0%, 1)", "Modern color syntax requires no commas at all"],
["hsla(0, 0%, light, 1)", "Keywords are not accepted in the hsla function"],
["hsla()", "The hsla function requires 3 or 4 arguments"],
["hsla(0)", "The hsla function requires 3 or 4 arguments"],
["hsla(0, 0%)", "The hsla function requires 3 or 4 arguments"],
["hsla(0, 0%, 0%, 1, 0%)", "The hsla function requires 3 or 4 arguments"],
["hsl(0, 50, 30%, 1)", "The legacy color syntax does not allow numbers for saturation"],
["hsl(0, 50%, 30, 1)", "The legacy color syntax does not allow numbers for lightness"],
];
for (const test of tests) {
test_invalid_value("color", test[0]);
}
</script>
</body>
</html>