Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 6 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /css/css-typed-om/stylevalue-subclasses/cssKeywordValue-value.html - WPT Dashboard Interop Dashboard
<!doctype html>
<meta charset="utf-8">
<title>CSSKeywordValue.value</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<script>
'use strict';
const gTestArguments = [
{ keyword: 'initial', description: 'a CSS wide keyword' },
{ keyword: 'auto', description: 'a CSS keyword' },
{ keyword: 'lemon', description: 'an unsupported CSS keyword' },
{ keyword: '3! + 4@', description: 'a string containing multiple tokens' },
{ keyword: '☺', description: 'a unicode string' },
];
for (const args of gTestArguments) {
test(() => {
const result = new CSSKeywordValue(args.keyword);
assert_not_equals(result, null, 'a CSSKeywordValue is created');
assert_equals(result.value, args.keyword, 'value reflects new value');
}, `CSSKeywordValue.value can be updated to ${args.description}`);
}
test(() => {
let result = new CSSKeywordValue('lemon');
assert_throws_js(TypeError, () => result.value = '');
assert_equals(result.value, 'lemon', 'value does not change');
}, 'Updating CSSKeywordValue.value with an empty string throws a TypeError');
</script>