TL;DR: I'm glad to announce that some days ago, the conversion of MathML
layout tests to WPT format has been completed. You will now find them in
two places only:
- The upstream WPT repository, for tests shared with other browsers.
- Some internal Gecko-specific tests at
testing/web-platform/mozilla/tests/mathml
Big thanks to Emilio who has spent time tons of patches to achieve that
goal !
For those who are interested, some more details follow.
********************************************************************************
MathML has been there since the beginning of Mozilla's history and the
tests written were using different formats of layout test (crashtests,
reftests, mochitests and later WPT), were scattered in different places
in our source code, were failing linting etc. One of the main
achievement is thus to make these tests more consistent by using the WPT
format (which includes its own reftests, testharness and crashtests
format) and have all of them placed in the `testing/web-platform/`
directory.
Recently the MathML Core specification [1] was introduced. At the same
time this spec removed many legacy features from MathML 3 and clarified
how to implement things for browsers. In particular, in the past the
MathML rendering was depending on some under-specified behavior with how
math fonts are used for layout, which led to some tests being flaky, too
lax or not cross-browser compatible. With MathML Core, things are more
reliable and most WPT tests use web fonts to make the tests more robust.
Layout is tested via testharness when possible to avoid fuzzy pixel
failures with reftests. This effort to make this happen for legacy
MathML tests too.
Some tests for Gecko-specific behavior that are not yet aligned with
MathML Core have been kept internal for now. This directory also
contains things relying on APIs not yet supported by the WPT
infrastructure such as testing console messages or rendering at
different zoom levels (a JS file to emulate the reftest-zoom attribute
has been introduced for that later point). You can find details in [2].
All in all, it is expected that this new setup will make the life easier
for mozilla developers having to deal with MathML and contribute
positively to browser interoperability.
Frédéric
[1]
https://www.w3.org/TR/mathml-core/
[2]
https://searchfox.org/mozilla-central/source/testing/web-platform/mozilla/tests/mathml/README.md