| <!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> |