blob: c353fa849076f4551827a10b9742a85b53d4fc18 [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/#mixed-percentages">
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
<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/parsing-testcommon.js"></script>
<script>
const property = 'margin-left';
function test_valid_length_percent(value, expected) {
test_valid_value(property, value, expected);
}
test_valid_length_percent('min(1px + 1%)', 'min(1% + 1px)');
test_valid_length_percent('min(1cm + 1%)', 'min(1% + 1cm)');
test_valid_length_percent('min(1mm + 1%)', 'min(1% + 1mm)');
test_valid_length_percent('min(1Q + 1%)', 'min(1% + 1q)');
test_valid_length_percent('min(1in + 1%)', 'min(1% + 1in)');
test_valid_length_percent('min(1pc + 1%)', 'min(1% + 1pc)');
test_valid_length_percent('min(1pt + 1%)', 'min(1% + 1pt)');
test_valid_length_percent('min(1em + 1%)', 'min(1% + 1em)');
test_valid_length_percent('min(1ex + 1%)', 'min(1% + 1ex)');
test_valid_length_percent('min(1ch + 1%)', 'min(1% + 1ch)');
test_valid_length_percent('min(1rem + 1%)', 'min(1% + 1rem)');
test_valid_length_percent('min(1vh + 1%)', 'min(1% + 1vh)');
test_valid_length_percent('min(1vw + 1%)', 'min(1% + 1vw)');
test_valid_length_percent('min(1vmin + 1%)', 'min(1% + 1vmin)');
test_valid_length_percent('min(1vmax + 1%)', 'min(1% + 1vmax)');
test_valid_length_percent('max(1px + 1%)', 'max(1% + 1px)');
test_valid_length_percent('max(1cm + 1%)', 'max(1% + 1cm)');
test_valid_length_percent('max(1mm + 1%)', 'max(1% + 1mm)');
test_valid_length_percent('max(1Q + 1%)', 'max(1% + 1q)');
test_valid_length_percent('max(1in + 1%)', 'max(1% + 1in)');
test_valid_length_percent('max(1pc + 1%)', 'max(1% + 1pc)');
test_valid_length_percent('max(1pt + 1%)', 'max(1% + 1pt)');
test_valid_length_percent('max(1em + 1%)', 'max(1% + 1em)');
test_valid_length_percent('max(1ex + 1%)', 'max(1% + 1ex)');
test_valid_length_percent('max(1ch + 1%)', 'max(1% + 1ch)');
test_valid_length_percent('max(1rem + 1%)', 'max(1% + 1rem)');
test_valid_length_percent('max(1vh + 1%)', 'max(1% + 1vh)');
test_valid_length_percent('max(1vw + 1%)', 'max(1% + 1vw)');
test_valid_length_percent('max(1vmin + 1%)', 'max(1% + 1vmin)');
test_valid_length_percent('max(1vmax + 1%)', 'max(1% + 1vmax)');
test_valid_length_percent('min(20px, 10%)', 'min(20px, 10%)');
test_valid_length_percent('min(1em, 10%)', 'min(1em, 10%)');
test_valid_length_percent('max(20px, 10%)', 'max(20px, 10%)');
test_valid_length_percent('max(1em, 10%)', 'max(1em, 10%)');
test_valid_length_percent('min(10%, 20px)', 'min(10%, 20px)');
test_valid_length_percent('min(10%, 1em)', 'min(10%, 1em)');
test_valid_length_percent('max(10%, 20px)', 'max(10%, 20px)');
test_valid_length_percent('max(10%, 1em)', 'max(10%, 1em)');
test_valid_length_percent('min(10% + 30px, 5% + 60px)', 'min(10% + 30px, 5% + 60px)')
test_valid_length_percent('max(10% + 2em, 5% + 1em)', 'max(10% + 2em, 5% + 1em)')
test_valid_length_percent('calc(min(10%) + max(1em) + min(20px))', 'calc(min(10%) + max(1em) + min(20px))');
test_valid_length_percent('calc(max(20px) + min(1em) + max(10%))', 'calc(max(20px) + min(1em) + max(10%))');
test_valid_length_percent('calc(max(10%) + min(1em) + max(20px))', 'calc(max(10%) + min(1em) + max(20px))');
test_valid_length_percent('calc(min(20px) + max(1em) + min(10%))', 'calc(min(20px) + max(1em) + min(10%))');
test_valid_length_percent('calc(20px + min(10%))', 'calc(20px + min(10%))');
test_valid_length_percent('calc(10% + min(20px))', 'calc(10% + min(20px))');
test_valid_length_percent('calc(1em + min(10%))', 'calc(1em + min(10%))');
test_valid_length_percent('calc(10% + min(1em))', 'calc(10% + min(1em))');
test_valid_length_percent('calc(min(10%) + 20px)', 'calc(20px + min(10%))');
test_valid_length_percent('calc(min(20px) + 10%)', 'calc(10% + min(20px))');
test_valid_length_percent('calc(min(10%) + 1em)', 'calc(1em + min(10%))');
test_valid_length_percent('calc(min(1em) + 10%)', 'calc(10% + min(1em))');
test_valid_length_percent('calc(20px + max(10%))', 'calc(20px + max(10%))');
test_valid_length_percent('calc(10% + max(20px))', 'calc(10% + max(20px))');
test_valid_length_percent('calc(1em + max(10%))', 'calc(1em + max(10%))');
test_valid_length_percent('calc(10% + max(1em))', 'calc(10% + max(1em))');
test_valid_length_percent('calc(max(10%) + 20px)', 'calc(20px + max(10%))');
test_valid_length_percent('calc(max(20px) + 10%)', 'calc(10% + max(20px))');
test_valid_length_percent('calc(max(10%) + 1em)', 'calc(1em + max(10%))');
test_valid_length_percent('calc(max(1em) + 10%)', 'calc(10% + max(1em))');
</script>