Update web-platform-tests to revision ac16628eb7eb601957382053011363d2bcf8ce44

This commit is contained in:
WPT Sync Bot 2020-02-17 08:20:12 +00:00
parent ea7e753cea
commit 7e7c8873e4
4408 changed files with 664787 additions and 857286 deletions

View file

@ -2,91 +2,95 @@
<title>round() function</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
</style>
<script src="../support/numeric-testcommon.js"></script>
<meta name=author content="Tab Atkins-Bittner">
<link rel=help href="https://drafts.csswg.org/css-values-4/#round-func">
<div></div>
<div id=target></div>
<script>
const testEl = document.querySelector("div");
function testRound(testString, expectedString, {base="0px", msg}={}) {
test(()=>{
testEl.style.width = base;
testEl.style.width = testString;
const usedValue = getComputedStyle(testEl).width;
assert_not_equals(usedValue, base);
testEl.style.width = base;
testEl.style.width = expectedString;
const expectedValue = getComputedStyle(testEl).width;
assert_not_equals(expectedValue, base)
assert_equal(usedValue, expectedValue);
}, msg || `${testString} should round to ${expectedString}`);
}
// No-op round should be same as nearest
testRound("round(23px, 10px)", "20px");
testRound("round(18px, 10px)", "20px");
testRound("round(15px, 10px)", "20px");
testRound("round(13px, 10px)", "10px");
testRound("round(-13px, 10px)", "-10px");
testRound("round(-18px, 10px)", "-20px");
test_math_used("round(23px, 10px)", "20px");
test_math_used("round(18px, 10px)", "20px");
test_math_used("round(15px, 10px)", "20px");
test_math_used("round(13px, 10px)", "10px");
test_math_used("round(-13px, 10px)", "-10px");
test_math_used("round(-18px, 10px)", "-20px");
// Test nearest
testRound("round(nearest, 23px, 10px)", "20px");
testRound("round(nearest, 18px, 10px)", "20px");
testRound("round(nearest, 15px, 10px)", "20px");
testRound("round(nearest, 13px, 10px)", "10px");
testRound("round(nearest, -13px, 10px)", "-10px");
testRound("round(nearest, -18px, 10px)", "-20px");
test_math_used("round(nearest, 23px, 10px)", "20px");
test_math_used("round(nearest, 18px, 10px)", "20px");
test_math_used("round(nearest, 15px, 10px)", "20px");
test_math_used("round(nearest, 13px, 10px)", "10px");
test_math_used("round(nearest, -13px, 10px)", "-10px");
test_math_used("round(nearest, -18px, 10px)", "-20px");
// Test down
testRound("round(down, 23px, 10px)", "20px");
testRound("round(down, 18px, 10px)", "10px");
testRound("round(down, 15px, 10px)", "10px");
testRound("round(down, 13px, 10px)", "10px");
testRound("round(down, -13px, 10px)", "-20px");
testRound("round(down, -18px, 10px)", "-20px");
test_math_used("round(down, 23px, 10px)", "20px");
test_math_used("round(down, 18px, 10px)", "10px");
test_math_used("round(down, 15px, 10px)", "10px");
test_math_used("round(down, 13px, 10px)", "10px");
test_math_used("round(down, -13px, 10px)", "-20px");
test_math_used("round(down, -18px, 10px)", "-20px");
// Test up
testRound("round(up, 23px, 10px)", "30px");
testRound("round(up, 18px, 10px)", "20px");
testRound("round(up, 15px, 10px)", "20px");
testRound("round(up, 13px, 10px)", "20px");
testRound("round(up, -13px, 10px)", "-10px");
testRound("round(up, -18px, 10px)", "-10px");
test_math_used("round(up, 23px, 10px)", "30px");
test_math_used("round(up, 18px, 10px)", "20px");
test_math_used("round(up, 15px, 10px)", "20px");
test_math_used("round(up, 13px, 10px)", "20px");
test_math_used("round(up, -13px, 10px)", "-10px");
test_math_used("round(up, -18px, 10px)", "-10px");
// Test to-zero
testRound("round(to-zero, 23px, 10px)", "20px");
testRound("round(to-zero, 18px, 10px)", "10px");
testRound("round(to-zero, 15px, 10px)", "10px");
testRound("round(to-zero, 13px, 10px)", "10px");
testRound("round(to-zero, -13px, 10px)", "-10px");
testRound("round(to-zero, -18px, 10px)", "-10px");
test_math_used("round(to-zero, 23px, 10px)", "20px");
test_math_used("round(to-zero, 18px, 10px)", "10px");
test_math_used("round(to-zero, 15px, 10px)", "10px");
test_math_used("round(to-zero, 13px, 10px)", "10px");
test_math_used("round(to-zero, -13px, 10px)", "-10px");
test_math_used("round(to-zero, -18px, 10px)", "-10px");
// Test a negative step
testRound("round(23px, -10px)", "20px");
testRound("round(18px, -10px)", "20px");
testRound("round(15px, -10px)", "20px");
testRound("round(13px, -10px)", "10px");
testRound("round(-13px, -10px)", "-10px");
testRound("round(-18px, -10px)", "-20px");
test_math_used("round(23px, -10px)", "20px");
test_math_used("round(18px, -10px)", "20px");
test_math_used("round(15px, -10px)", "20px");
test_math_used("round(13px, -10px)", "10px");
test_math_used("round(-13px, -10px)", "-10px");
test_math_used("round(-18px, -10px)", "-20px");
// Extreme cases:
// 0 step is NaN
testRound("round(5px, 0px)", "calc(NaN)");
test_nan("round(5, 0)");
// both infinite is NaN
testRound("round(1px/0, 1px/0)", "calc(NaN)");
test_nan("round(infinity, infinity)");
test_nan("round(infinity, -infinity)");
test_nan("round(-infinity, infinity)");
test_nan("round(-infinity, -infinity)");
// infinite value with finite step is the same infinity
testRound("round(1px/0, 5px)", "calc(infinity * 1px)");
testRound("round(1px/0, -5px)", "calc(infinity * 1px)");
testRound("round(-1px/0, 5px)", "calc(-infinity * 1px)");
testRound("round(-1px/0, -5px)", "calc(-infinity * 1px)");
// finite value with infinite step is same-sign 0
testRound("calc(1/round(5px, 1px/0))", "calc(infinity * 1px)");
testRound("calc(1/round(5px, -1px/0))", "calc(infinity * 1px)");
testRound("calc(1/round(-5px, 1px/0))", "calc(-infinity * 1px)");
testRound("calc(1/round(-5px, -1px/0))", "calc(-infinity * 1px)");
test_plus_infinity("round(infinity, 5)");
test_plus_infinity("round(infinity, -5)");
test_minus_infinity("round(-infinity, 5)");
test_minus_infinity("round(-infinity, -5)");
// Finite value with infinite step depends on rounding strategy.
// 'nearest' and 'to-zero': pos and +0 go to +0, neg and -0 go to -0
test_plus_zero("round(5, infinity)");
test_plus_zero("round(5, -infinity)");
test_minus_zero("round(-5, infinity)");
test_minus_zero("round(-5, -infinity)");
test_plus_zero("round(to-zero, 5, infinity)");
test_plus_zero("round(to-zero, 5, -infinity)");
test_minus_zero("round(to-zero, -5, infinity)");
test_minus_zero("round(to-zero, -5, -infinity)");
// 'up': pos goes to +inf, 0+ goes to 0+, else 0-
test_plus_infinity("round(up, 1, infinity)");
test_plus_zero("round(up, 0, infinity)");
test_minus_zero("round(up, -1 * 0, infinity");
test_minus_zero("round(up, -1, infinity");
// 'down': neg goes to -inf, -0 goes to -0, else 0+
test_minus_infinity("round(down, -1, infinity)");
test_minus_zero("round(down, -1 * 0, infinity)");
test_plus_zero("round(down, 0, infinity)");
test_plus_zero("round(down, 1, infinity)");
</script>