| <!DOCTYPE html> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script> |
| function assertParsedValue(property, input, expected) { |
| var style = document.createElement('div').style; |
| style.setProperty(property, input); |
| assert_equals(style.getPropertyValue(property), expected, property + ': ' + input); |
| } |
| |
| test(function() { |
| assertParsedValue('-webkit-box-ordinal-group', 'calc(6 + 4)', '10'); |
| assertParsedValue('-webkit-box-ordinal-group', 'calc(0)', ''); |
| assertParsedValue('-webkit-column-span', 'calc(2 - 1)', ''); |
| assertParsedValue('-webkit-column-span', 'calc(1 + 2)', ''); |
| assertParsedValue('-webkit-column-width', 'calc(1em - 1px)', 'calc(1em - 1px)'); |
| assertParsedValue('transition-timing-function', 'cubic-bezier(calc(1 + 2), 0, 1, 1)', ''); |
| assertParsedValue('transition-timing-function', 'cubic-bezier(calc(1 / 2), calc(1 - 1), calc(2 - 1), calc(2 * 3))', 'cubic-bezier(0.5, 0, 1, 6)'); |
| assertParsedValue('transition-timing-function', 'steps(calc(1 + 2), start)', 'steps(3, start)'); |
| assertParsedValue('grid-row-start', 'calc(1 + 2) test', '3 test'); |
| assertParsedValue('grid-row-start', 'calc(1 / 2) test', '1 test'); |
| assertParsedValue('font-weight', 'calc(100 + 200)', '300'); |
| assertParsedValue('flex', 'calc(1 + 2) calc(3 + 4)', '3 7 0%'); |
| assertParsedValue('-webkit-filter', 'saturate(calc(4 / 2))', 'saturate(2)'); |
| assertParsedValue('-webkit-filter', 'invert(calc(4 / 2))', 'invert(1)'); |
| assertParsedValue('-webkit-filter', 'invert(calc(2 / 4))', 'invert(0.5)'); |
| assertParsedValue('-webkit-filter', 'brightness(calc(4 / 2))', 'brightness(2)'); |
| }, 'Ensure using calc() for CSS numbers does not crash or produce incorrect values.'); |
| </script> |