mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
59 lines
2.7 KiB
HTML
59 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Attribute mapping</title>
|
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#the-mathvariant-attribute">
|
|
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#the-displaystyle-and-scriptlevel-attributes">
|
|
<meta name="assert" content="Verify that mathvariant, scriptlevel, displaystyle are mapped to CSS">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/mathml/support/mathml-fragments.js"></script>
|
|
<script>
|
|
setup({ explicit_done: true });
|
|
window.addEventListener("load", runTests);
|
|
function runTests() {
|
|
var container = document.getElementById("container");
|
|
for (tag in MathMLFragments) {
|
|
container.insertAdjacentHTML("beforeend", `<math>${MathMLFragments[tag]}</math>`);
|
|
}
|
|
Array.from(document.getElementsByClassName("element")).forEach(element => {
|
|
var tag = element.tagName;
|
|
var style = window.getComputedStyle(element);
|
|
|
|
test(function() {
|
|
assert_equals(style.getPropertyValue("text-transform"),
|
|
tag === "mi" ? "math-auto" : "none",
|
|
"no attribute");
|
|
element.setAttribute("mathvariant", "fraktur");
|
|
assert_equals(style.getPropertyValue("text-transform"), "math-fraktur", "attribute specified");
|
|
element.setAttribute("mathvariant", "DoUbLe-StRuCk");
|
|
assert_equals(style.getPropertyValue("text-transform"), "math-double-struck", "case insensitive");
|
|
}, `mathvariant on the ${tag} element is mapped to CSS text-transform`)
|
|
|
|
test(function() {
|
|
assert_equals(style.getPropertyValue("math-script-level"), "0", "no attribute");
|
|
element.setAttribute("scriptlevel", "10");
|
|
assert_equals(style.getPropertyValue("math-script-level"), "10", "attribute specified");
|
|
}, `scriptlevel on the ${tag} element is mapped to CSS math-script-level`);
|
|
|
|
test(function() {
|
|
assert_equals(style.getPropertyValue("math-style"), "inline", "no attribute");
|
|
element.setAttribute("displaystyle", "true");
|
|
assert_equals(style.getPropertyValue("math-style"), "display", "attribute specified");
|
|
element.setAttribute("displaystyle", "TrUe");
|
|
assert_equals(style.getPropertyValue("math-style"), "display", "case insensitive");
|
|
}, `displaystyle on the ${tag} element is mapped to CSS math-style`);
|
|
});
|
|
|
|
done();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="log"></div>
|
|
<div id="container">
|
|
<math class="element"></math>
|
|
</div>
|
|
</body>
|
|
</html>
|