blob: e3314c6bae7ae26b7b4bc16c72da31e776864dd5 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<title>box-shadow parse should reject invalid values</title>
</head>
<body>
<div id="target"></div>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
let target = document.getElementById('target')
let test_invalid_value = (value) => {
test(() => {
target.style['box-shadow'] = ''
target.style['box-shadow'] = value
assert_equals(target.style.getPropertyValue('box-shadow'), '');
}, '#target.style["box-shadow"] = ' + JSON.stringify(value) + ' should not set the property value')
}
// Disallow multiple color components.
test_invalid_value('red green -4px 4px')
test_invalid_value('red -4px 4px green')
test_invalid_value('red inset -4px 4px red')
test_invalid_value('-4px 4px red green')
// Disallow multiple `inset` keyword components.
test_invalid_value('inset inset -4px 4px')
test_invalid_value('inset inset -4px 4px red')
test_invalid_value('inset -4px 4px inset')
test_invalid_value('inset green -4px 4px inset')
test_invalid_value('-4px 4px inset inset')
// Disallow multiple lengths components.
test_invalid_value('-4px 4px inset 8px -8px')
test_invalid_value('-4px 4px 2px inset 8px -8px')
test_invalid_value('-4px 4px 2px 2px inset 8px -8px')
test_invalid_value('-4px 4px 2px 2px inset 8px -8px 2px')
test_invalid_value('-4px 4px 2px 2px inset 8px -8px 2px 2px')
test_invalid_value('-4px 4px red 8px -8px')
test_invalid_value('-4px 4px 2px red 8px -8px')
test_invalid_value('-4px 4px 2px 2px red 8px -8px')
test_invalid_value('-4px 4px 2px 2px red 8px -8px 2px')
test_invalid_value('-4px 4px 2px 2px red 8px -8px 2px 2px')
test_invalid_value('inset -4px 4px 8px 8px 2px 2px')
test_invalid_value('red -4px 4px 8px 8px 2px 2px')
</script>
</body>
</html>