| <!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/#integers"> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-range"> |
| <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 = 'z-index'; |
| |
| function test_integer_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_integer_equals('min(1)', '1'); |
| test_integer_equals('max(1)', '1'); |
| |
| // Rounding |
| test_integer_equals('min(0.4)', '0'); |
| test_integer_equals('min(0.6)', '1'); |
| test_integer_equals('max(0.4)', '0'); |
| test_integer_equals('max(0.6)', '1'); |
| |
| // Rounding and nesting |
| test_integer_equals('min(1.1, max(0.4, 0.6))', '1'); |
| test_integer_equals('max(0.3, min(1.1, 0.4))', '0'); |
| |
| // No rounding at intermediate steps |
| test_integer_equals('calc(min(0.3, 0.6) * 2)', '1'); |
| test_integer_equals('calc(max(0.3, 0.6) / 2)', '0'); |
| </script> |