summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html')
-rw-r--r--testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html115
1 files changed, 115 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html
new file mode 100644
index 0000000000..a5eb267c61
--- /dev/null
+++ b/testing/web-platform/tests/mathml/presentation-markup/operators/size-and-position-of-stretchy-fences-with-default-font-001.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Size of nested stretchy fences with inner mo</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=40066018">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=40068339">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=40856331">
+
+<div id="log"></div>
+
+<p>
+ <math>
+ <mrow>
+ <mo id="left1">(</mo>
+ <mrow>
+ <mo>(</mo>
+ <mrow>
+ <mi>x</mi>
+ <mo>+</mo>
+ <mi>y</mi>
+ </mrow>
+ <mo>)</mo>
+ </mrow>
+ <mo id="right1">)</mo>
+ </mrow>
+ </math>
+ <math>
+ <mrow>
+ <mo id="left2">(</mo>
+ <mrow>
+ <mo>(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo>)</mo>
+ </mrow>
+ <mo id="right2">)</mo>
+ </mrow>
+ </math>
+</p>
+
+<p>
+ <math>
+ <mn id="plus3">+</mn>
+ <mrow>
+ <mo id="left3" fence="true" form="prefix">(</mo>
+ <mi>x</mi>
+ <mo id="right3" fence="true" form="postfix">)</mo>
+ </mrow>
+ </math>
+</p>
+
+<p>
+ <math display="block">
+ <mrow>
+ <mo id="left4" fence="false" symmetric="true" minsize="2.4em" maxsize="2.4em">(</mo>
+ <mfrac>
+ <msup>
+ <mi>∂</mi>
+ <mn>2</mn>
+ </msup>
+ <mrow>
+ <mi>∂</mi>
+ <msup>
+ <mi>x</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mo id="plus4">+</mo>
+ <mfrac>
+ <msup>
+ <mi>∂</mi>
+ <mn>2</mn>
+ </msup>
+ <mrow>
+ <mi>∂</mi>
+ <msup>
+ <mi>y</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mo id="right4" fence="false" symmetric="true" minsize="2.4em" maxsize="2.4em">)</mo>
+ </mrow>
+ </math>
+</p>
+
+<script>
+ function getBox(id) {
+ return document.getElementById(id).getBoundingClientRect();
+ }
+ function middleOf(id) {
+ let box = getBox(id);
+ return (box.top + box.bottom) / 2;
+ }
+ const epsilon = 2;
+
+ test(t => {
+ assert_approx_equals(getBox("left1").top, getBox("left2").top, epsilon);
+ assert_approx_equals(getBox("left1").bottom, getBox("left2").bottom, epsilon);
+ assert_approx_equals(getBox("right1").top, getBox("right2").top, epsilon);
+ assert_approx_equals(getBox("right1").bottom, getBox("right2").bottom, epsilon);
+ }, "Inner binary operator should not affect position and size of outer fences.");
+
+ test(t => {
+ const math_axis_3 = middleOf("plus3")
+ assert_approx_equals(middleOf("left3"), math_axis_3, epsilon);
+ assert_approx_equals(middleOf("right3"), math_axis_3, epsilon);
+ const math_axis_4 = middleOf("plus4")
+ assert_approx_equals(middleOf("left4"), math_axis_4, epsilon);
+ assert_approx_equals(middleOf("right4"), math_axis_4, epsilon);
+ }, "Fences are stretched symmetrically with respect to the math axis");
+</script>