blob: 89f0e3cd2a548f38134e5719d011dc69c31c18a0 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style id=style></style>
<div id=target></div>
<script>
// This test verifies that <transform-function> has reasonable behavior while
// we wait for https://github.com/w3c/css-houdini-drafts/issues/290 to be
// resolved.
//
// Ultimately, properties registered with <transform-function> should be
// representable as stand-alone CSSTransformComponents, in which case this
// test file will no longer be valid.
CSS.registerProperty({
name: '--tf',
syntax: '<transform-function>',
initialValue: 'rotateX(0deg)',
inherits: false
});
test(() => {
let value = CSSStyleValue.parse('--tf', 'translateX(0px)');
assert_equals(value.constructor, CSSStyleValue);
}, 'Result of CSSStyleValue.parse for <transform-function> is a direct CSSStyleValue');
test(() => {
target.style = '--tf: translateX(0px)';
let value = target.attributeStyleMap.get('--tf');
assert_equals(value.constructor, CSSStyleValue);
target.style = '';
}, 'Result of attributeStyleMap.get for <transform-function> is a direct CSSStyleValue');
test(() => {
style.textContent = '#target { --tf: translateX(0px); }';
let styleMap = style.sheet.rules[0].styleMap;
let value = styleMap.get('--tf');
assert_equals(value.constructor, CSSStyleValue);
style.textContent = '';
}, 'Result of styleMap.get for <transform-function> is a direct CSSStyleValue');
test(() => {
let value = target.computedStyleMap().get('--tf');
assert_equals(value.constructor, CSSStyleValue);
}, 'Result of computedstyleMap.get for <transform-function> is a direct CSSStyleValue');
</script>