blob: c72c276625466a193bf8829e3ddbb87d7a565dc0 [file] [log] [blame]
<!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/#numbers">
<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 = 'opacity';
function test_number_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_number_equals('min(1)', '1');
test_number_equals('max(1)', '1');
// Nestings
test_number_equals('min(0.2, max(0.1, 0.15))', '0.15');
test_number_equals('max(0.1, min(0.2, 0.15))', '0.15');
// General calculations
test_number_equals('calc(min(0.1, 0.2) + 0.05)', '0.15');
test_number_equals('calc(min(0.1, 0.2) - 0.05)', '0.05');
test_number_equals('calc(min(0.1, 0.2) * 2)', '0.2');
test_number_equals('calc(min(0.1, 0.2) / 2)', '0.05');
test_number_equals('calc(max(0.1, 0.2) + 0.05)', '0.25');
test_number_equals('calc(max(0.1, 0.2) - 0.05)', '0.15');
test_number_equals('calc(max(0.1, 0.2) * 2)', '0.4');
test_number_equals('calc(max(0.1, 0.2) / 2)', '0.1');
test_number_equals('calc(min(0.1, 0.2) + max(0.1, 0.05))', '0.2');
test_number_equals('calc(min(0.1, 0.2) - max(0.1, 0.05))', '0');
</script>