Update web-platform-tests to revision 53876e32d827db82f4b7af38053529302c243d40

This commit is contained in:
WPT Sync Bot 2020-03-07 08:19:40 +00:00
parent a0f14ceb7b
commit 02d2f1860a
87 changed files with 2931 additions and 515 deletions

View file

@ -3,37 +3,109 @@
<link rel="help" href="https://drafts.csswg.org/css-values-4/#angles">
<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/parsing-testcommon.js"></script>
<script src="../support/serialize-testcommon.js"></script>
<div id=target></div>
<script>
function test_valid_angle(value, expected) {
test_valid_value('transform', `rotate(${value})`, `rotate(${expected})`);
function test_serialization(t,s,c,u, {prop="transform"}={}) {
t = `rotate(${t})`;
test_specified_serialization(prop, t, `rotate(${s})`);
test_computed_serialization(prop, t, c);
if(u) test_used_serialization(prop, t, u);
}
test_valid_angle('min(1deg)', 'min(1deg)');
test_valid_angle('min(1rad)', 'min(1rad)');
test_valid_angle('min(1turn)', 'min(1turn)');
test_valid_angle('min(1grad)', 'min(1grad)');
test_valid_angle('max(1deg)', 'max(1deg)');
test_valid_angle('max(1rad)', 'max(1rad)');
test_valid_angle('max(1turn)', 'max(1turn)');
test_valid_angle('max(1grad)', 'max(1grad)');
// Browsers aren't perfectly interoperable about how a 90deg rotation is serialized,
// but that's not the focus of this test,
// so just capture *whatever* the browser does and expect that.
const rotateMatrix = (()=>{
const el = document.querySelector("#target");
el.style.transform = "rotate(90deg)";
const ret = getComputedStyle(el).transform;
el.removeAttribute('style');
return ret;
})();
test_valid_angle('min(1deg, 2deg, 3deg)', 'min(1deg, 2deg, 3deg)');
test_valid_angle('min(3deg, 2deg, 1deg)', 'min(3deg, 2deg, 1deg)');
test_valid_angle('min(90deg, 1.57rad, 0.25turn)', 'min(90deg, 1.57rad, 0.25turn)');
test_valid_angle('min(0.25turn, 1.57rad, 90deg)', 'min(0.25turn, 1.57rad, 90deg)');
test_valid_angle('max(1deg, 2deg, 3deg)', 'max(1deg, 2deg, 3deg)');
test_valid_angle('max(3deg, 2deg, 1deg)', 'max(3deg, 2deg, 1deg)');
test_valid_angle('max(90deg, 1.57rad, 0.25turn)', 'max(90deg, 1.57rad, 0.25turn)');
test_valid_angle('max(0.25turn, 1.57rad, 90deg)', 'max(0.25turn, 1.57rad, 90deg)');
test_serialization(
'min(90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'min(.25turn)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'min(100grad)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(.25turn)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(100grad)',
'calc(90deg)',
rotateMatrix);
// No way to test 'rad' serialization without depending heavily on numeric serialization
// and the precision used for radians...
test_valid_angle('calc(min(1deg) + min(2deg))', 'calc(min(1deg) + min(2deg))');
test_valid_angle('calc(max(1deg) + max(2deg))', 'calc(max(1deg) + max(2deg))');
test_valid_angle('calc(1rad + min(1deg))', 'calc(1rad + min(1deg))');
test_valid_angle('calc(min(1deg) + 1rad)', 'calc(1rad + min(1deg))');
test_valid_angle('calc(1rad + max(1deg))', 'calc(1rad + max(1deg))');
test_valid_angle('calc(max(1deg) + 1rad)', 'calc(1rad + max(1deg))');
test_serialization(
'min(90deg, 92deg, 93deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'min(93deg, 92deg, 90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'min(90deg, 1.58rad, 0.25turn)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'min(0.25turn, 1.58rad, 90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(81deg, 82deg, 90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(83deg, 82deg, 90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(90deg, 1.57rad, 0.25turn)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'max(0.25turn, 1.57rad, 90deg)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'calc(min(30deg) + max(60deg))',
'calc(90deg)',
rotateMatrix);
test_serialization(
'calc(50grad + min(45deg))',
'calc(90deg)',
rotateMatrix);
test_serialization(
'calc(min(45deg) + 50grad)',
'calc(90deg)',
rotateMatrix);
test_serialization(
'calc(50grad + max(45deg))',
'calc(90deg)',
rotateMatrix);
test_serialization(
'calc(max(45deg) + 50grad)',
'calc(90deg)',
rotateMatrix);
</script>