<!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-serialize">
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/serialize-testcommon.js"></script>
<div id=target></div>
<script>
function test_serialization(t,s,c,u, {prop="transition-delay"}={}) {
    test_specified_serialization(prop, t, s);
    test_computed_serialization(prop, t, c);
    if(u) test_used_serialization(prop, t, u);
}

test_serialization(
    'min(1ms)',
    'calc(0.001s)',
    '0.001s');
test_serialization(
    'min(1s)',
    'calc(1s)',
    '1s');
test_serialization(
    'max(1ms)',
    'calc(0.001s)',
    '0.001s');
test_serialization(
    'max(1s)',
    'calc(1s)',
    '1s');

test_serialization(
    'min(1s, 2s, 3s)',
    'calc(1s)',
    '1s');
test_serialization(
    'min(3s, 2s, 1s)',
    'calc(1s)',
    '1s');
test_serialization(
    'max(1s, 2s, 3s)',
    'calc(3s)',
    '3s');
test_serialization(
    'max(3s, 2s, 1s)',
    'calc(3s)',
    '3s');
test_serialization(
    'min(900ms, 1s)',
    'calc(0.9s)',
    '0.9s');
test_serialization(
    'max(1100ms, 1s)',
    'calc(1.1s)',
    '1.1s');

test_serialization(
    'calc(min(1s, 2s) + max(3s, 4s) + 10s)',
    'calc(15s)',
    '15s');
</script>
