| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Popover API CSS parsing with computed values</title> |
| <link rel="author" href="mailto:masonf@chromium.org"> |
| <link rel=help href="https://open-ui.org/components/popover.research.explainer"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/support/parsing-testcommon.js"></script> |
| <script src="/css/support/computed-testcommon.js"></script> |
| <script src="/css/support/interpolation-testcommon.js"></script> |
| |
| <div id=target></div> |
| <div id=scratch></div> |
| |
| <script> |
| function testprop(prop) { |
| // Computed values: |
| test_computed_value(prop, '0s'); |
| test_computed_value(prop, '0ms', '0s'); |
| test_computed_value(prop, '32s'); |
| test_computed_value(prop, '123ms', '0.123s'); |
| |
| // Valid values: |
| test_valid_value(prop, '0s'); |
| test_valid_value(prop, '0ms'); |
| test_valid_value(prop, '32s'); |
| test_valid_value(prop, '123ms'); |
| test_valid_value(prop, 'inherit'); |
| |
| // Invalid values: |
| test_invalid_value(prop, '0'); |
| test_invalid_value(prop, 'foo'); |
| test_invalid_value(prop, '-1s'); |
| test_invalid_value(prop, 'none'); |
| test_invalid_value(prop, 'auto'); |
| |
| // Animations: |
| test_interpolation({ |
| property: prop, |
| from: '1s', |
| to: '2000ms', |
| }, [ |
| {at: -1.5, expect: '0s'}, // Clamping at 0 |
| {at: -0.3, expect: '0.7s'}, |
| {at: 0, expect: '1s'}, |
| {at: 0.5, expect: '1.5s'}, |
| {at: 1, expect: '2s'}, |
| {at: 1.5, expect: '2.5s'}, |
| ]); |
| } |
| |
| testprop('popover-show-delay'); |
| testprop('popover-hide-delay'); |
| </script> |