Skip to content

Commit 4267bd7

Browse files
committed
Bug 1575698 [wpt PR 18600] - Add parser and evaluation WPT for <number> and <integer> involving min/max(), a=testonly
Automatic update from web-platform-tests Add parser and evaluation WPT for <number> and <integer> involving min/max() Bug: 978682 Change-Id: I03310f9116f66d3ec2248a357c209d704deb85cd -- wpt-commits: d1d8d8b4fa654551cc683446674aa5b189786bdf wpt-pr: 18600 UltraBlame original commit: 5d7f8450060d7e62f0975553315df283bee2d839
1 parent 308c370 commit 4267bd7

File tree

3 files changed

+145
-0
lines changed

3 files changed

+145
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html>
2+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func">
3+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#integers">
4+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-range">
5+
<link rel="author" title="Xiaocheng Hu" href="mailto:[email protected]">
6+
<script src="/resources/testharness.js"></script>
7+
<script src="/resources/testharnessreport.js"></script>
8+
<script src="../support/computed-testcommon.js"></script>
9+
<div id="target"></div>
10+
<div id="reference"></div>
11+
<script>
12+
const property = 'z-index';
13+
14+
function test_integer_equals(value, expected) {
15+
const reference = document.getElementById('reference');
16+
reference.style[property] = '';
17+
reference.style[property] = expected;
18+
const computed = getComputedStyle(reference)[property];
19+
test_computed_value(property, value, computed);
20+
}
21+
22+
// Identity tests
23+
test_integer_equals('min(1)', '1');
24+
test_integer_equals('max(1)', '1');
25+
26+
// Rounding
27+
test_integer_equals('min(0.4)', '0');
28+
test_integer_equals('min(0.6)', '1');
29+
test_integer_equals('max(0.4)', '0');
30+
test_integer_equals('max(0.6)', '1');
31+
32+
// Rounding and nesting
33+
test_integer_equals('min(1.1, max(0.4, 0.6))', '1');
34+
test_integer_equals('max(0.3, min(1.1, 0.4))', '0');
35+
36+
// No rounding at intermediate steps
37+
test_integer_equals('calc(min(0.3, 0.6) * 2)', '1');
38+
test_integer_equals('calc(max(0.3, 0.6) / 2)', '0');
39+
</script>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<!DOCTYPE html>
2+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func">
3+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers">
4+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking">
5+
<link rel="author" title="Xiaocheng Hu" href="mailto:[email protected]">
6+
<script src="/resources/testharness.js"></script>
7+
<script src="/resources/testharnessreport.js"></script>
8+
<script src="../support/computed-testcommon.js"></script>
9+
<div id="target"></div>
10+
<div id="reference"></div>
11+
<script>
12+
const property = 'opacity';
13+
14+
function test_number_equals(value, expected) {
15+
const reference = document.getElementById('reference');
16+
reference.style[property] = '';
17+
reference.style[property] = expected;
18+
const computed = getComputedStyle(reference)[property];
19+
test_computed_value(property, value, computed);
20+
}
21+
22+
// Identity tests
23+
test_number_equals('min(1)', '1');
24+
test_number_equals('max(1)', '1');
25+
26+
// Nestings
27+
test_number_equals('min(0.2, max(0.1, 0.15))', '0.15');
28+
test_number_equals('max(0.1, min(0.2, 0.15))', '0.15');
29+
30+
// General calculations
31+
test_number_equals('calc(min(0.1, 0.2) + 0.05)', '0.15');
32+
test_number_equals('calc(min(0.1, 0.2) - 0.05)', '0.05');
33+
test_number_equals('calc(min(0.1, 0.2) * 2)', '0.2');
34+
test_number_equals('calc(min(0.1, 0.2) / 2)', '0.05');
35+
test_number_equals('calc(max(0.1, 0.2) + 0.05)', '0.25');
36+
test_number_equals('calc(max(0.1, 0.2) - 0.05)', '0.15');
37+
test_number_equals('calc(max(0.1, 0.2) * 2)', '0.4');
38+
test_number_equals('calc(max(0.1, 0.2) / 2)', '0.1');
39+
test_number_equals('calc(min(0.1, 0.2) + max(0.1, 0.05))', '0.2');
40+
test_number_equals('calc(min(0.1, 0.2) - max(0.1, 0.05))', '0');
41+
</script>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE html>
2+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func">
3+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers">
4+
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking">
5+
<link rel="author" title="Xiaocheng Hu" href="mailto:[email protected]">
6+
<script src="/resources/testharness.js"></script>
7+
<script src="/resources/testharnessreport.js"></script>
8+
<script src="../support/parsing-testcommon.js"></script>
9+
<script>
10+
function test_invalid_number(value) {
11+
test_invalid_value('opacity', value);
12+
}
13+
14+
// Syntax checking
15+
test_invalid_number('min()');
16+
test_invalid_number('min( )');
17+
test_invalid_number('min(,)');
18+
test_invalid_number('min(1, )');
19+
test_invalid_number('min(, 1)');
20+
test_invalid_number('min(1 + )');
21+
test_invalid_number('min(1 - )');
22+
test_invalid_number('min(1 * )');
23+
test_invalid_number('min(1 / )');
24+
test_invalid_number('min(1 2)');
25+
test_invalid_number('min(1, , 2)');
26+
test_invalid_number('max()');
27+
test_invalid_number('max( )');
28+
test_invalid_number('max(,)');
29+
test_invalid_number('max(1, )');
30+
test_invalid_number('max(, 1)');
31+
test_invalid_number('max(1 + )');
32+
test_invalid_number('max(1 - )');
33+
test_invalid_number('max(1 * )');
34+
test_invalid_number('max(1 / )');
35+
test_invalid_number('max(1 2)');
36+
test_invalid_number('max(1, , 2)');
37+
38+
// Type checking
39+
test_invalid_number('min(0px)');
40+
test_invalid_number('min(0s)');
41+
test_invalid_number('min(0deg)');
42+
test_invalid_number('min(0Hz)');
43+
test_invalid_number('min(0dpi)');
44+
test_invalid_number('min(0fr)');
45+
test_invalid_number('min(1, 1%)');
46+
test_invalid_number('min(1, 0px)');
47+
test_invalid_number('min(1, 0s)');
48+
test_invalid_number('min(1, 0deg)');
49+
test_invalid_number('min(1, 0Hz)');
50+
test_invalid_number('min(1, 0dpi)');
51+
test_invalid_number('min(1, 0fr)');
52+
test_invalid_number('max(0px)');
53+
test_invalid_number('max(0s)');
54+
test_invalid_number('max(0deg)');
55+
test_invalid_number('max(0Hz)');
56+
test_invalid_number('max(0dpi)');
57+
test_invalid_number('max(0fr)');
58+
test_invalid_number('max(1, 1%)');
59+
test_invalid_number('max(1, 0px)');
60+
test_invalid_number('max(1, 0s)');
61+
test_invalid_number('max(1, 0deg)');
62+
test_invalid_number('max(1, 0Hz)');
63+
test_invalid_number('max(1, 0dpi)');
64+
test_invalid_number('max(1, 0fr)');
65+
</script>

0 commit comments

Comments
 (0)