mirror of
https://github.com/servo/servo.git
synced 2025-08-11 08:25:32 +01:00
Update web-platform-tests to revision 53876e32d827db82f4b7af38053529302c243d40
This commit is contained in:
parent
a0f14ceb7b
commit
02d2f1860a
87 changed files with 2931 additions and 515 deletions
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue