diff options
Diffstat (limited to 'layout/mathml/imptests/test_stack-parameters.html')
-rw-r--r-- | layout/mathml/imptests/test_stack-parameters.html | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/layout/mathml/imptests/test_stack-parameters.html b/layout/mathml/imptests/test_stack-parameters.html new file mode 100644 index 000000000..784e7dfe8 --- /dev/null +++ b/layout/mathml/imptests/test_stack-parameters.html @@ -0,0 +1,176 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Stack parameters</title> +<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2"> +<meta name="assert" content="Element mfrac correctly uses the stack parameters from the MATH table."> +<!-- Copyright 2016 MathML Association + Licensed under 3-Clause BSD-License --> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + math, mspace { + font-size: 10px; + } + @font-face { + font-family: axisheight7000; + src: url("fonts/stack-axisheight7000.woff"); + } + @font-face { + font-family: bottomdisplaystyleshiftdown5000; + src: url("fonts/stack-bottomdisplaystyleshiftdown5000.woff"); + } + @font-face { + font-family: bottomshiftdown6000; + src: url("fonts/stack-bottomshiftdown6000.woff"); + } + @font-face { + font-family: displaystylegapmin4000; + src: url("fonts/stack-displaystylegapmin4000.woff"); + } + @font-face { + font-family: gapmin8000; + src: url("fonts/stack-gapmin8000.woff"); + } + @font-face { + font-family: topdisplaystyleshiftup3000; + src: url("fonts/stack-topdisplaystyleshiftup3000.woff"); + } + @font-face { + font-family: topshiftup9000; + src: url("fonts/stack-topshiftup9000.woff"); + } +</style> +<script> + var emToPx = 10 / 1000; // font-size: 10px, font.em = 1000 + var epsilon = 1; + + function getBox(aId) { + return document.getElementById(aId).getBoundingClientRect(); + } + + var test_loaded = async_test("Page Loaded"); + window.addEventListener("load", function() { + // FIXME: Use an API to wait for the Web fonts to arrive. + window.setTimeout(runTests, 250); + }); + + function runTests() { + test(function() { + var v = 7000 * emToPx; + assert_approx_equals(getBox("ref0001").top - getBox("num0001").bottom, + v, epsilon, "mfrac: axis height"); + }, "AxisHeight"); + + test(function() { + var v = 5000 * emToPx; + assert_approx_equals(getBox("den0002").top - getBox("ref0002").bottom, + v, epsilon, "mfrac: denominator shift"); + }, "BottomDisplayStyleShiftDown"); + + test(function() { + var v = 6000 * emToPx; + assert_approx_equals(getBox("den0003").top - getBox("ref0003").bottom, + v, epsilon, "mfrac: denominator shift"); + }, "BottomShiftDown"); + + test(function() { + var v = 4000 * emToPx; + assert_approx_equals(getBox("den0004").top - getBox("num0004").bottom, + v, epsilon, "mfrac: gap"); + }, "DisplayStyleGapMin"); + + test(function() { + var v = 8000 * emToPx; + assert_approx_equals(getBox("den0005").top - getBox("num0005").bottom, + v, epsilon, "mfrac: gap"); + }, "GapMin"); + + test(function() { + var v = 3000 * emToPx; + assert_approx_equals(getBox("ref0006").top - getBox("num0006").bottom, + v, epsilon, "mfrac: numerator shift"); + }, "TopDisplayStyleShiftUp"); + + test(function() { + var v = 9000 * emToPx; + assert_approx_equals(getBox("ref0007").top - getBox("num0007").bottom, + v, epsilon, "mfrac: numerator shift"); + }, "ToShiftUp"); + + test_loaded.done(); + } +</script> +</head> +<body> + <p> + <math style="font-family: axisheight7000;"> + <mspace id="ref0001" depth="1em" width="3em" mathbackground="green"/> + <mfrac linethickness="0px"> + <mspace width="3em" height="1em" id="num0001" mathbackground="blue"/> + <mspace width="3em"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math display="block" style="font-family: bottomdisplaystyleshiftdown5000;"> + <mspace id="ref0002" width="3em" height="1em" mathbackground="green"/> + <mfrac linethickness="0px"> + <mspace width="3em"/> + <mspace width="3em" depth="1em" id="den0002" mathbackground="blue"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math style="font-family: bottomshiftdown6000;"> + <mspace id="ref0003" width="3em" height="1em" mathbackground="green"/> + <mfrac linethickness="0px"> + <mspace width="3em"/> + <mspace width="3em" depth="1em" id="den0003" mathbackground="blue"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math display="block" style="font-family: displaystylegapmin4000;"> + <mfrac linethickness="0px"> + <mspace width="3em" height="1em" id="num0004" mathbackground="blue"/> + <mspace width="3em" depth="1em" id="den0004" mathbackground="green"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math style="font-family: gapmin8000;"> + <mfrac linethickness="0px"> + <mspace width="3em" height="1em" id="num0005" mathbackground="blue"/> + <mspace width="3em" depth="1em" id="den0005" mathbackground="green"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math display="block" style="font-family: topdisplaystyleshiftup3000;"> + <mspace id="ref0006" width="3em" depth="1em" mathbackground="green"/> + <mfrac linethickness="0px"> + <mspace width="3em" height="1em" id="num0006" mathbackground="blue"/> + <mspace width="3em"/> + </mfrac> + </math> + </p> + <hr/> + <p> + <math style="font-family: topshiftup9000;"> + <mspace id="ref0007" width="3em" depth="1em" mathbackground="green"/> + <mfrac linethickness="0px"> + <mspace width="3em" height="1em" id="num0007" mathbackground="blue"/> + <mspace width="3em"/> + </mfrac> + </math> + </p> + <hr/> +</body> +</html> |