mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update web-platform-tests to revision 66b4fab488695f98d15ad75b549e302a8d29f865
This commit is contained in:
parent
b6cdf93198
commit
b09e82fc9f
161 changed files with 3705 additions and 671 deletions
|
@ -0,0 +1,74 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Elements not participating to the layout of their parent</title>
|
||||
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#layout-algorithms">
|
||||
<meta name="assert" content="Verify that display: none and out-of-flow positioned elements do not participate to layout of their parent.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/mathml/support/feature-detection.js"></script>
|
||||
<script src="/mathml/support/layout-comparison.js"></script>
|
||||
<script src="/mathml/support/mathml-fragments.js"></script>
|
||||
<script>
|
||||
var epsilon = 1;
|
||||
|
||||
setup({ explicit_done: true });
|
||||
window.addEventListener("load", runTests);
|
||||
|
||||
function runTests() {
|
||||
|
||||
for (tag in MathMLFragments) {
|
||||
if (!FragmentHelper.isValidChildOfMrow(tag) ||
|
||||
FragmentHelper.isEmpty(tag))
|
||||
continue;
|
||||
// TODO: Add floats too?
|
||||
["display: none",
|
||||
"position: absolute",
|
||||
"position: fixed"
|
||||
].forEach(style => {
|
||||
document.body.insertAdjacentHTML("beforeend", `<div style="position: absolute;">\
|
||||
<div style="display: inline-block"><math>${MathMLFragments[tag]}</math></div>\
|
||||
<div style="display: inline-block"><math>${MathMLFragments[tag]}</math></div>\
|
||||
</div>`);
|
||||
var div = document.body.lastElementChild;
|
||||
|
||||
var elementContainer = div.firstElementChild;
|
||||
var elementContainerWidth = elementContainer.getBoundingClientRect().width;
|
||||
var element = FragmentHelper.element(elementContainer);
|
||||
FragmentHelper.forceNonEmptyElement(element);
|
||||
var allowInvalid = true;
|
||||
var child = FragmentHelper.appendChild(element, allowInvalid);
|
||||
child.setAttribute("style", style);
|
||||
|
||||
var referenceContainer = div.lastElementChild;
|
||||
var referenceContainerWidth = referenceContainer.getBoundingClientRect().width;
|
||||
var reference = FragmentHelper.element(referenceContainer);
|
||||
FragmentHelper.forceNonEmptyElement(reference);
|
||||
|
||||
var epsilon = 1;
|
||||
|
||||
test(function() {
|
||||
// FIXME(fwang): Feature detection should be done per-tag.
|
||||
assert_true(MathMLFeatureDetection.has_mspace());
|
||||
assert_approx_equals(elementContainerWidth, referenceContainerWidth, epsilon);
|
||||
}, `${tag} preferred width calculation is not affected by children with "${style}" style`);
|
||||
|
||||
test(function() {
|
||||
// FIXME(fwang): Feature detection should be done per-tag.
|
||||
assert_true(MathMLFeatureDetection.has_mspace());
|
||||
compareLayout(element, reference, epsilon);
|
||||
}, `${tag} layout is not affected by children with "${style}" style`);
|
||||
|
||||
div.style = "display: none;"; // Hide the div after measurement.
|
||||
});
|
||||
}
|
||||
|
||||
done();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue