blob: bab8bbb57009ac9b07a343af1a823c34fb6b0711 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>display math overflow</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
setup({ "explicit_done": true });
function run() {
test(function() {
let math = document.getElementById('inline-100');
assert_equals(math.clientWidth, 100);
}, "inline math, 100px content, 200px container");
test(function() {
let math = document.getElementById('display-100');
assert_equals(math.clientWidth, 200);
let mspace = document.getElementById('space-100');
let mathBox = math.getBoundingClientRect();
let mspaceBox = mspace.getBoundingClientRect();
assert_equals(mspaceBox.left - mathBox.left, mathBox.right - mspaceBox.right);
}, "display math, 100px content, 200px container");
test(function() {
let math = document.getElementById('inline-400');
assert_equals(math.clientWidth, 400);
}, "inline math, 400px content, 200px container");
test(function() {
let math = document.getElementById('display-400');
assert_equals(math.clientWidth, 400);
}, "display math, 400px content, 200px container");
done();
}
</script>
<style>
#test-area div {
width: 200px;
overflow: hidden;
border-style: solid;
/* Make sure inline <math> will fill the whole <div> vertically. */
line-height: 0;
}
</style>
</head>
<body onload="run()">
<div id="test-area">
<p>Inline math of 100px content in a 200px container. The test passes if the bar is to the left of the container.</p>
<div>
<math id="inline-100" xmlns="http://www.w3.org/1998/Math/MathML">
<mspace width="100px" height="50px" style="background: linear-gradient(to right, red, green)"></mspace>
</math>
</div>
<p>Display math of 100px content in a 200px container. The test passes if the bar is in the middle of the container.</p>
<div>
<math id="display-100" display="block" xmlns="http://www.w3.org/1998/Math/MathML">
<mspace id="space-100" width="100px" height="50px" style="background: linear-gradient(to right, red, green)"></mspace>
</math>
</div>
<p>Inline math of 400px content in a 200px container. The test passes if the bar can be scrolled horizontally to see the full content.</p>
<div>
<math id="inline-400" xmlns="http://www.w3.org/1998/Math/MathML">
<mspace width="400px" height="50px" style="background: linear-gradient(to right, red, green)"></mspace>
</math>
</div>
<p>Display math of 400px content in a 200px container. The test passes if the bar behaves exactly the same as the previous one.</p>
<div>
<math id="display-400" display="block" xmlns="http://www.w3.org/1998/Math/MathML">
<mspace width="400px" height="50px" style="background: linear-gradient(to right, red, green)"></mspace>
</math>
</div>
</div>
</body>
</html>