| <!doctype html> |
| <meta charset="utf-8"> |
| <title>IDL-constructed CSSUnitValue serialization tests</title> |
| <link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#numericvalue-serialization"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../resources/testhelper.js"></script> |
| <body> |
| <script> |
| 'use strict'; |
| |
| test(() => { |
| assert_equals(new CSSUnitValue(3.14, 'px').toString(), '3.14px'); |
| assert_equals(CSS.px(3.14).toString(), '3.14px'); |
| }, 'CSSUnitValue with length unit constructed from IDL serializes correctly'); |
| |
| test(() => { |
| assert_equals(new CSSUnitValue(3.14, 'percent').toString(), '3.14%'); |
| assert_equals(CSS.percent(3.14).toString(), '3.14%'); |
| }, 'CSSUnitValue with unit "percent" constructed from IDL serializes correctly'); |
| |
| test(() => { |
| assert_equals(new CSSUnitValue(3.14, 'number').toString(), '3.14'); |
| assert_equals(CSS.number(3.14).toString(), '3.14'); |
| }, 'CSSUnitValue with unit "number" constructed from IDL serializes correctly'); |
| |
| test(() => { |
| assert_equals(new CSSUnitValue(3, 'number').toString(), '3'); |
| }, 'CSSUnitValue with integer values constructed from IDL serializes correctly'); |
| |
| test(() => { |
| let result = CSSStyleValue.parse('width', '1px'); |
| result.value = 3.14; |
| assert_equals(result.toString(), '3.14px'); |
| }, 'CSSKeywordValue from DOMString modified by "value" setter serializes correctly'); |
| |
| test(t => { |
| let result = createInlineStyleMap(t, 'width: 1px').get('width'); |
| result.value = 3.14; |
| assert_equals(result.toString(), '3.14px'); |
| }, 'CSSKeywordValue from CSSOM modified by "value" setter serializes correctly'); |
| |
| </script> |