| <!DOCTYPE HTML> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| |
| <style> |
| #divWithFontSizeSet, #parentDiv { |
| font-size: 10px; |
| } |
| #divWithFontSizeSet, #divWithFontSizeInherited { |
| --length-1: 12px; |
| --length-2: 13vw; |
| --length-3: 14em; |
| --length-4: 15vmin; |
| --length-5: calc(16px - 7em + 10vh); |
| --length-6: var(--length-3); |
| --length-percentage-1: 17em; |
| --length-percentage-2: 18%; |
| --length-percentage-3: calc(19em - 2%); |
| --list-1: 10px 3em; |
| --list-2: 4em 9px; |
| --list-3: 3% 10vmax 22px; |
| --list-4: calc(50% + 1em) 4px; |
| } |
| </style> |
| |
| <div id=divWithFontSizeSet></div> |
| <div id=parentDiv> |
| <div id=divWithFontSizeInherited></div> |
| </div> |
| |
| <script> |
| CSS.registerProperty({name: '--length-1', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-2', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-3', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-4', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-5', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-6', syntax: '<length>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-percentage-1', syntax: '<length-percentage>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-percentage-2', syntax: '<length-percentage>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--length-percentage-3', syntax: '<length-percentage>', initialValue: '0px'}); |
| CSS.registerProperty({name: '--list-1', syntax: '<length>+', initialValue: '0px'}); |
| CSS.registerProperty({name: '--list-2', syntax: '<length>+', initialValue: '0px'}); |
| CSS.registerProperty({name: '--list-3', syntax: '<length-percentage>+', initialValue: '0px'}); |
| CSS.registerProperty({name: '--list-4', syntax: '<length-percentage>+', initialValue: '0px'}); |
| |
| for (var element of [divWithFontSizeSet, divWithFontSizeInherited]) { |
| var id = element.id; |
| var computedStyle = getComputedStyle(element); |
| |
| test(function() { |
| assert_equals(computedStyle.getPropertyValue('--length-1'), '12px'); |
| assert_equals(computedStyle.getPropertyValue('--length-2'), '104px'); |
| assert_equals(computedStyle.getPropertyValue('--length-3'), '140px'); |
| assert_equals(computedStyle.getPropertyValue('--length-4'), '90px'); |
| assert_equals(computedStyle.getPropertyValue('--length-5'), '6px'); |
| assert_equals(computedStyle.getPropertyValue('--length-6'), '140px'); |
| }, "<length> values are computed correctly for " + id); |
| |
| test(function() { |
| assert_equals(computedStyle.getPropertyValue('--length-percentage-1'), '170px'); |
| assert_equals(computedStyle.getPropertyValue('--length-percentage-2'), '18%'); |
| assert_equals(computedStyle.getPropertyValue('--length-percentage-3'), 'calc(190px + -2%)'); |
| }, "<length-percentage> values are computed correctly for " + id); |
| |
| test(function() { |
| assert_equals(computedStyle.getPropertyValue('--list-1'), '10px 30px'); |
| assert_equals(computedStyle.getPropertyValue('--list-2'), '40px 9px'); |
| }, "<length>+ values are computed correctly for " + id); |
| |
| test(function() { |
| assert_equals(computedStyle.getPropertyValue('--list-3'), '3% 80px 22px'); |
| assert_equals(computedStyle.getPropertyValue('--list-4'), 'calc(10px + 50%) 4px'); |
| }, "<length-percentage>+ values are computed correctly for " + id); |
| } |
| </script> |