| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func"> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#time"> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking"> |
| <link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../support/computed-testcommon.js"></script> |
| <div id="target"></div> |
| <div id="reference"></div> |
| <script> |
| const property = 'transition-delay'; |
| |
| function test_time_equals(value, expected) { |
| const reference = document.getElementById('reference'); |
| reference.style[property] = ''; |
| reference.style[property] = expected; |
| const computed = getComputedStyle(reference)[property]; |
| test_computed_value(property, value, computed); |
| } |
| |
| // Identity tests |
| test_time_equals('min(1s)', '1s'); |
| test_time_equals('min(1ms)', '1ms'); |
| test_time_equals('max(1s)', '1s'); |
| test_time_equals('max(1ms)', '1ms'); |
| |
| // Comparisons between same units |
| test_time_equals('min(1s, 2s)', '1s'); |
| test_time_equals('min(1ms, 2ms)', '1ms'); |
| test_time_equals('max(1s, 2s)', '2s'); |
| test_time_equals('max(1ms, 2ms)', '2ms'); |
| |
| // Comparisons between different units |
| test_time_equals('min(1s, 1100ms)', '1s'); |
| test_time_equals('max(0.9s, 1000ms)', '1000ms'); |
| |
| // Nestings |
| test_time_equals('min(2s, max(1s, 1500ms))', '1500ms'); |
| test_time_equals('max(1000ms, min(2000ms, 1.5s))', '1.5s'); |
| |
| // General calculations |
| test_time_equals('calc(min(0.5s, 600ms) + 500ms)', '1s'); |
| test_time_equals('calc(min(0.5s, 600ms) - 500ms)', '0s'); |
| test_time_equals('calc(min(0.5s, 600ms) * 2)', '1s'); |
| test_time_equals('calc(min(0.5s, 600ms) / 2)', '0.25s'); |
| test_time_equals('calc(max(0.5s, 400ms) + 500ms)', '1s'); |
| test_time_equals('calc(max(0.5s, 400ms) - 500ms)', '0s'); |
| test_time_equals('calc(max(0.5s, 400ms) * 2)', '1s'); |
| test_time_equals('calc(max(0.5s, 400ms) / 2)', '0.25s'); |
| test_time_equals('calc(min(0.5s, 600ms) + max(500ms, 0.4s))', '1s'); |
| test_time_equals('calc(min(0.5s, 600ms) - max(500ms, 0.4s))', '0s'); |
| </script> |