1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<!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-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/numeric-testcommon.js"></script>
<div id="target"></div>
<script>
function test_time_equals(t,e) {
test_math_used(t, e, {type:"time"});
}
// Identity tests
test_time_equals('min(1s)', '1s');
test_time_equals('min(1ms)', '1ms');
test_time_equals('max(1s)', '1s');
test_time_equals('max(1ms)', '1ms');
// Comparisons between same units
test_time_equals('min(1s, 2s)', '1s');
test_time_equals('min(1ms, 2ms)', '1ms');
test_time_equals('max(1s, 2s)', '2s');
test_time_equals('max(1ms, 2ms)', '2ms');
// Comparisons between different units
test_time_equals('min(1s, 1100ms)', '1s');
test_time_equals('max(0.9s, 1000ms)', '1000ms');
// Nestings
test_time_equals('min(2s, max(1s, 1500ms))', '1500ms');
test_time_equals('max(1000ms, min(2000ms, 1.5s))', '1.5s');
// General calculations
test_time_equals('calc(min(0.5s, 600ms) + 500ms)', '1s');
test_time_equals('calc(min(0.6s, 700ms) - 500ms)', '0.1s');
test_time_equals('calc(min(0.5s, 600ms) * 2)', '1s');
test_time_equals('calc(min(0.5s, 600ms) / 2)', '0.25s');
test_time_equals('calc(max(0.5s, 400ms) + 500ms)', '1s');
test_time_equals('calc(max(0.5s, 400ms) - 400ms)', '0.1s');
test_time_equals('calc(max(0.5s, 400ms) * 2)', '1s');
test_time_equals('calc(max(0.5s, 400ms) / 2)', '0.25s');
test_time_equals('calc(min(0.5s, 600ms) + max(500ms, 0.4s))', '1s');
test_time_equals('calc(min(0.6s, 700ms) - max(500ms, 0.4s))', '0.1s');
test_time_equals('min(1s + 100ms, 500ms * 3)', '1.1s');
test_time_equals('calc(min(1s, 2s) + max(3s, 4s) + 10s)', '15s');
</script>
|