1
0
Fork 0
firefox/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

266 lines
6.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Legacy mstyle attributes</title>
<link rel="help" href="https://www.w3.org/TR/MathML3/chapter3.html#presm.mstyle">
<link rel="help" href="https://w3c.github.io/mathml-core/#style-change-mstyle">
<link rel="help" href="https://w3c.github.io/mathml-core/#space-mspace">
<link rel="help" href="https://w3c.github.io/mathml-core/#fractions-mfrac">
<link rel="help" href="https://w3c.github.io/mathml-core/#operator-fence-separator-or-accent-mo">
<link rel="help" href="https://w3c.github.io/mathml-core/#string-literal-ms">
<link rel="help" href="https://www.w3.org/TR/MathML3/chapter3.html#presm.menclose">
<meta name="assert" content="Legacy mstyle attributes are ignored">
<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 type="text/javascript">
setup({ explicit_done: true });
window.addEventListener("load", runTests);
function runTests()
{
Array.from(document.getElementsByClassName("TestContainer")).forEach(container => {
const tag = container.id;
test(function() {
assert_true(MathMLFeatureDetection[`has_${tag}`](), `${tag} is supported`);
const epsilon = 1;
const math = container.getElementsByTagName("math");
compareLayout(math[0], math[1], epsilon);
}, `Legacy mstyle attributes do not apply to ${tag}`);
});
done();
}
</script>
</head>
<body>
<div id="log"></div>
<!-- Note: In earlier versions of MathML, putting some attributes on the
mstyle element was supposed to produce the same rendering as putting them
on the all descendants (with some exceptions). In MathML Core, relevant
style attributes are implemented as CSS properties and are no longer
specific to the mstyle element. The tests below verify that attributes
on mstyle that are not mapped to CSS have no effect.
-->
<p class="TestContainer" id="mspace">
<math>
<mstyle width="50px" height="50px" depth="50px">
<mspace style="background: lightblue"></mspace>
</mstyle>
</math>
<math>
<mstyle>
<mspace style="background: lightblue"></mspace>
</mstyle>
</math>
</p>
<p class="TestContainer" id="mfrac">
<math>
<mstyle linethickness="50px">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mstyle>
</math>
<math>
<mstyle>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</mstyle>
</math>
</p>
<p class="TestContainer" id="mo">
<math displaystyle="true">
<mstyle lspace="50px" rspace="50px">
<mn>1</mn>
<mo>A</mo>
<mn>2</mn>
</mstyle>
<mstyle movablelimits="false" largeop="false">
<munder>
<mo></mo>
<mn>3</mn>
</munder>
</mstyle>
<!-- Note: accent was a shared attribute name for mover and mo, so
make mstyle an ancestor of mo but not of mover. -->
<mover>
<mn>4</mn>
<mstyle accent="false"><mo></mo></mstyle>
</mover>
<mstyle stretchy="false" symmetric="false" maxsize="20px">
<mrow>
<mo>|</mo>
<mspace height="100px"></mspace>
</mrow>
</mstyle>
<mstyle minsize="100px">
<mrow>
<mo>|</mo>
<mn>4</mn>
</mrow>
</mstyle>
<mstyle form="prefix">
<mrow>
<mn>1</mn>
<!-- Infix and prefix forms of do not have the same lspace/rspace
values in the operator dictionary -->
<mo></mo>
<mn>2</mn>
</mrow>
</mstyle>
</math>
<math displaystyle="true">
<mstyle>
<mn>1</mn>
<mo>A</mo>
<mn>2</mn>
</mstyle>
<mstyle>
<munder>
<mo></mo>
<mn>3</mn>
</munder>
</mstyle>
<mover>
<mn>4</mn>
<mstyle><mo></mo></mstyle>
</mover>
<mstyle>
<mrow>
<mo>|</mo>
<mspace height="100px"></mspace>
</mrow>
</mstyle>
<mstyle>
<mrow>
<mo>|</mo>
<mn>4</mn>
</mrow>
</mstyle>
<mstyle>
<mrow>
<mn>1</mn>
<mo></mo>
<mn>2</mn>
</mrow>
</mstyle>
</math>
</p>
<!-- notation attribute is from MathML3's menclose element -->
<p class="TestContainer" id="menclose">
<math>
<mstyle notation="box">
<mn>1</mn>
</mstyle>
</math>
<math>
<mstyle>
<mn>1</mn>
</mstyle>
</math>
</p>
<p class="TestContainer" id="ms">
<math>
<mstyle lquote="AAAA" rquote="BBBB">
<ms>1</ms>
</mstyle>
</math>
<math>
<mstyle>
<ms>1</ms>
</mstyle>
</math>
</p>
<p class="TestContainer" id="mpadded">
<math>
<mstyle width="100px" height="50px" depth="50px"
lspace="10px" voffset="15px">
<mpadded style="background: lightblue">
<mspace width="10px" height="10px" style="background: black"></mspace>
</mpadded>
</mstyle>
</math>
<math>
<mstyle>
<mpadded style="background: lightblue">
<mspace width="10px" height="10px" style="background: black"></mspace>
</mpadded>
</mstyle>
</math>
</p>
<p class="TestContainer" id="mover">
<math>
<mstyle accent="true">
<mover>
<mn>1</mn>
<mn>2</mn>
</mover>
</mstyle>
</math>
<math>
<mstyle>
<mover>
<mn>1</mn>
<mn>2</mn>
</mover>
</mstyle>
</math>
</p>
<p class="TestContainer" id="munder">
<math>
<mstyle accentunder="true">
<munder>
<mn>1</mn>
<mn>2</mn>
</munder>
</mstyle>
</math>
<math>
<mstyle>
<munder>
<mn>1</mn>
<mn>2</mn>
</munder>
</mstyle>
</math>
</p>
<p class="TestContainer" id="munderover">
<math>
<mstyle accent="true">
<munderover>
<mn>1</mn>
<mn>2</mn>
<mn>3</mn>
</munderover>
</mstyle>
<mstyle accentunder="true">
<munderover>
<mn>1</mn>
<mn>2</mn>
<mn>3</mn>
</munderover>
</mstyle>
</math>
<math>
<mstyle>
<munderover>
<mn>1</mn>
<mn>2</mn>
<mn>3</mn>
</munderover>
</mstyle>
<mstyle>
<munderover>
<mn>1</mn>
<mn>2</mn>
<mn>3</mn>
</munderover>
</mstyle>
</math>
</p>
</body>
</html>