From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- testing/web-platform/tests/mathml/META.yml | 3 + testing/web-platform/tests/mathml/README.md | 12 + .../children-with-negative-block-sizes.html | 142 +++++ .../children-with-negative-inline-sizes.html | 142 +++++ .../mathml/crashtests/chrome-bug-1287843.html | 12 + .../crashtests/display-and-column-properties.html | 30 + .../dynamic-height-within-table-cell.html | 33 ++ .../mathml/crashtests/fixed-pos-children.html | 25 + .../mathml/crashtests/math-depth-overflow.html | 10 + .../tests/mathml/crashtests/mathml-in-svg-001.html | 3 + .../mmultiscripts-with-two-prescripts.html | 8 + .../mathml/crashtests/mozilla/1028521-1.xhtml | 5 + .../tests/mathml/crashtests/mozilla/1061027.html | 12 + .../tests/mathml/crashtests/mozilla/1221888-1.html | 15 + .../tests/mathml/crashtests/mozilla/1373767-1.html | 22 + .../tests/mathml/crashtests/mozilla/1376158.html | 6 + .../tests/mathml/crashtests/mozilla/151054-1.xml | 15 + .../tests/mathml/crashtests/mozilla/1600635.html | 16 + .../tests/mathml/crashtests/mozilla/289180-1.xml | 16 + .../tests/mathml/crashtests/mozilla/307826-1.xhtml | 30 + .../tests/mathml/crashtests/mozilla/307839-1.xhtml | 15 + .../tests/mathml/crashtests/mozilla/307839-2.xhtml | 24 + .../tests/mathml/crashtests/mozilla/323733-1.xml | 7 + .../tests/mathml/crashtests/mozilla/323737-1.xml | 9 + .../tests/mathml/crashtests/mozilla/323738-1.xml | 11 + .../tests/mathml/crashtests/mozilla/323741-1.xml | 13 + .../tests/mathml/crashtests/mozilla/323742-1.xml | 16 + .../tests/mathml/crashtests/mozilla/336074-1.xhtml | 25 + .../mathml/crashtests/mozilla/347355-1-inner.xhtml | 28 + .../tests/mathml/crashtests/mozilla/347355-1.gif | Bin 0 -> 980 bytes .../tests/mathml/crashtests/mozilla/347355-1.html | 9 + .../tests/mathml/crashtests/mozilla/347495-1.xhtml | 10 + .../tests/mathml/crashtests/mozilla/347507-1.xhtml | 29 + .../tests/mathml/crashtests/mozilla/348492-1.xhtml | 31 + .../tests/mathml/crashtests/mozilla/348709-1.xhtml | 20 + .../tests/mathml/crashtests/mozilla/348811-1.xhtml | 26 + .../tests/mathml/crashtests/mozilla/348811-2.xhtml | 31 + .../tests/mathml/crashtests/mozilla/353612-1.xhtml | 17 + .../tests/mathml/crashtests/mozilla/355986-1.xhtml | 34 ++ .../tests/mathml/crashtests/mozilla/364685-1.xhtml | 19 + .../tests/mathml/crashtests/mozilla/366012-1.xhtml | 23 + .../tests/mathml/crashtests/mozilla/366564-1.xhtml | 44 ++ .../tests/mathml/crashtests/mozilla/367107-1.html | 22 + .../tests/mathml/crashtests/mozilla/368430-1.xhtml | 5 + .../tests/mathml/crashtests/mozilla/370791-1.xhtml | 33 ++ .../tests/mathml/crashtests/mozilla/370862-1.xhtml | 27 + .../tests/mathml/crashtests/mozilla/372483-1.xhtml | 7 + .../tests/mathml/crashtests/mozilla/373472-1.xhtml | 20 + .../tests/mathml/crashtests/mozilla/373472-2.xhtml | 9 + .../tests/mathml/crashtests/mozilla/375562-1.xhtml | 38 ++ .../tests/mathml/crashtests/mozilla/377824-1.xhtml | 5 + .../tests/mathml/crashtests/mozilla/379418-1.xhtml | 7 + .../tests/mathml/crashtests/mozilla/385226-1.xhtml | 29 + .../tests/mathml/crashtests/mozilla/393760-1.xhtml | 16 + .../tests/mathml/crashtests/mozilla/397518-1.xhtml | 15 + .../tests/mathml/crashtests/mozilla/398038-1.html | 8 + .../tests/mathml/crashtests/mozilla/400475-1.xhtml | 16 + .../tests/mathml/crashtests/mozilla/402400-1.xhtml | 41 ++ .../tests/mathml/crashtests/mozilla/403156-1.xhtml | 12 + .../tests/mathml/crashtests/mozilla/404485-1.xhtml | 9 + .../tests/mathml/crashtests/mozilla/405187-1.xhtml | 10 + .../tests/mathml/crashtests/mozilla/405271-1.xml | 36 ++ .../tests/mathml/crashtests/mozilla/412237-1.xml | 11 + .../tests/mathml/crashtests/mozilla/413063-1.xhtml | 21 + .../tests/mathml/crashtests/mozilla/416907-1.xhtml | 5 + .../tests/mathml/crashtests/mozilla/420420-1.xhtml | 7 + .../tests/mathml/crashtests/mozilla/431072-1.xhtml | 25 + .../tests/mathml/crashtests/mozilla/443089-1.xhtml | 7 + .../tests/mathml/crashtests/mozilla/462929-1.html | 12 + .../tests/mathml/crashtests/mozilla/463763-1.xhtml | 10 + .../tests/mathml/crashtests/mozilla/463763-2.xhtml | 12 + .../tests/mathml/crashtests/mozilla/476547-1.xhtml | 5 + .../tests/mathml/crashtests/mozilla/541620-1.xhtml | 6 + .../tests/mathml/crashtests/mozilla/557474-1.html | 11 + .../tests/mathml/crashtests/mozilla/654928-1.html | 3 + .../tests/mathml/crashtests/mozilla/655451-1.xhtml | 15 + .../tests/mathml/crashtests/mozilla/713606-1.html | 24 + .../tests/mathml/crashtests/mozilla/716349-1.html | 13 + .../tests/mathml/crashtests/mozilla/767251.xhtml | 1 + .../tests/mathml/crashtests/mozilla/770710-1.html | 25 + .../tests/mathml/crashtests/mozilla/848725-1.html | 17 + .../tests/mathml/crashtests/mozilla/848725-2.html | 17 + .../tests/mathml/crashtests/mozilla/947557-1.html | 21 + .../tests/mathml/crashtests/mozilla/973322-1.xhtml | 8 + .../mspace-mpadded-negative-dimensions.html | 13 + .../tests/mathml/crashtests/mtd-as-multicol.html | 9 + .../mathml/crashtests/multicol-inside-ms.html | 4 + .../crashtests/multicol-on-token-elements.html | 11 + .../crashtests/operator-and-first-letter.html | 9 + .../crashtests/scrollbar-caching-assert.html | 17 + .../direction/direction-006-ref.html | 74 +++ .../direction/direction-006.html | 82 +++ .../direction/direction-007-ref.html | 42 ++ .../direction/direction-007.html | 53 ++ .../direction/direction-008-ref.html | 27 + .../direction/direction-008.html | 36 ++ .../direction/direction-010-ref.html | 44 ++ .../direction/direction-010.html | 54 ++ .../direction/direction-overall-ref.html | 40 ++ .../direction/direction-overall.html | 53 ++ .../direction/direction-token-ref.html | 16 + .../direction/direction-token.html | 28 + .../presentation-markup/direction/direction.html | 39 ++ .../presentation-markup/fractions/frac-1.html | 191 +++++++ .../fractions/frac-bar-001-ref.html | 21 + .../fractions/frac-bar-001.html | 56 ++ .../fractions/frac-bar-002-ref.html | 23 + .../fractions/frac-bar-002.html | 83 +++ .../fractions/frac-bar-003-ref.html | 21 + .../fractions/frac-bar-003.html | 46 ++ .../fractions/frac-color-001-notref.html | 16 + .../fractions/frac-color-001.html | 20 + .../fractions/frac-color-002-ref.html | 14 + .../fractions/frac-color-002.html | 34 ++ .../fractions/frac-created-dynamically-2-ref.html | 17 + .../fractions/frac-created-dynamically-2.html | 44 ++ .../fractions/frac-created-dynamically-3-ref.html | 16 + .../fractions/frac-created-dynamically-3.html | 36 ++ .../fractions/frac-created-dynamically-ref.html | 16 + .../fractions/frac-created-dynamically.html | 39 ++ .../fractions/frac-default-padding-ref.html | 19 + .../fractions/frac-default-padding.html | 37 ++ .../fractions/frac-invalid-2-ref.html | 15 + .../fractions/frac-invalid-2.html | 18 + .../fractions/frac-invalid-3-ref.html | 17 + .../fractions/frac-invalid-3.html | 20 + .../fractions/frac-invalid-ref.html | 14 + .../fractions/frac-invalid.html | 17 + ...ac-legacy-bevelled-attribute.tentative-ref.html | 18 + .../frac-legacy-bevelled-attribute.tentative.html | 28 + .../fractions/frac-linethickness-001-ref.html | 42 ++ .../fractions/frac-linethickness-001.html | 47 ++ .../fractions/frac-linethickness-002.html | 131 +++++ .../fractions/frac-linethickness-003-notref.html | 16 + .../fractions/frac-linethickness-003.html | 19 + .../fractions/frac-linethickness-004-ref.html | 27 + .../fractions/frac-linethickness-004.html | 32 ++ .../fractions/frac-mrow-001-ref.html | 16 + .../fractions/frac-mrow-001.html | 28 + .../frac-numalign-denomalign-001-ref.html | 75 +++ .../fractions/frac-numalign-denomalign-001.html | 56 ++ .../fractions/frac-parameters-1.html | 440 ++++++++++++++ .../fractions/frac-parameters-2.html | 290 ++++++++++ .../fractions/frac-parameters-3.html | 168 ++++++ .../fractions/frac-parameters-gap-001-ref.html | 63 +++ .../fractions/frac-parameters-gap-001.html | 90 +++ .../fractions/frac-parameters-gap-002-ref.html | 63 +++ .../fractions/frac-parameters-gap-002.html | 90 +++ .../fractions/frac-parameters-gap-003-ref.html | 63 +++ .../fractions/frac-parameters-gap-003.html | 90 +++ .../fractions/frac-parameters-gap-004-ref.html | 63 +++ .../fractions/frac-parameters-gap-004.html | 90 +++ .../fractions/frac-parameters-gap-005-ref.html | 63 +++ .../fractions/frac-parameters-gap-005.html | 90 +++ .../fractions/frac-parameters-gap-006-ref.html | 63 +++ .../fractions/frac-parameters-gap-006.html | 90 +++ .../fractions/frac-rendering-from-in-flow-ref.html | 15 + .../fractions/frac-rendering-from-in-flow.html | 40 ++ .../fractions/frac-visibility-001-ref.html | 12 + .../fractions/frac-visibility-001.html | 24 + .../legacy-menclose-radical-notation-ref.html | 23 + .../menclose/legacy-menclose-radical-notation.html | 30 + .../mpadded/legacy-orthogonal-pseudo-units.html | 101 ++++ .../presentation-markup/mpadded/mpadded-001.html | 147 +++++ .../presentation-markup/mpadded/mpadded-002.html | 164 ++++++ .../presentation-markup/mpadded/mpadded-003.html | 230 ++++++++ .../mpadded/mpadded-percentage-001-ref.html | 18 + .../mpadded/mpadded-percentage-001.html | 33 ++ .../mpadded/mpadded-percentage-002.html | 81 +++ .../mrow/dynamic-mrow-like-001-ref.html | 41 ++ .../mrow/dynamic-mrow-like-001.html | 72 +++ .../mrow/inferred-mrow-baseline.html | 57 ++ .../mrow/inferred-mrow-stretchy.html | 64 +++ .../mrow/legacy-mfenced-element-001-ref.html | 24 + .../mrow/legacy-mfenced-element-001.html | 34 ++ .../mrow/legacy-mrow-like-elements-001.html | 188 ++++++ .../mrow/legacy-mrow-like-elements-002-ref.html | 44 ++ .../mrow/legacy-mrow-like-elements-002.html | 57 ++ .../mrow/legacy-mstyle-attributes.html | 164 ++++++ .../presentation-markup/mrow/merror-001.html | 43 ++ .../presentation-markup/mrow/mrow-fallback.html | 125 ++++ .../mrow/mrow-painting-order-ref.html | 83 +++ .../mrow/mrow-painting-order.html | 42 ++ .../mrow/mrow-preferred-width.html | 121 ++++ .../presentation-markup/mrow/no-spacing.html | 139 +++++ .../mathml/presentation-markup/mrow/spacing.html | 54 ++ .../mrow/stretch-along-block-axis-001.html | 176 ++++++ .../operators/embellished-operator-001-crash.html | 10 + .../operators/embellished-operator-001.html | 521 +++++++++++++++++ .../operators/embellished-operator-002.html | 559 ++++++++++++++++++ .../operators/embellished-operator-003.html | 394 +++++++++++++ .../embellished-operator-dynamic-001-ref.html | 95 ++++ .../embellished-operator-dynamic-001.html | 123 ++++ .../embellished-operator-dynamic-002.html | 185 ++++++ .../operators/largeop-hit-testing.html | 64 +++ .../operators/mo-axis-height-1.html | 75 +++ .../operators/mo-font-relative-lengths-001.html | 114 ++++ .../operators/mo-form-dynamic-002-ref.html | 48 ++ .../operators/mo-form-dynamic-002.html | 66 +++ .../operators/mo-form-dynamic-ref.html | 26 + .../operators/mo-form-dynamic.html | 51 ++ .../operators/mo-form-fallback-ref.html | 15 + .../operators/mo-form-fallback.html | 28 + .../operators/mo-form-minus-plus-ref.html | 84 +++ .../operators/mo-form-minus-plus.html | 89 +++ .../presentation-markup/operators/mo-form-ref.html | 25 + .../presentation-markup/operators/mo-form.html | 30 + .../operators/mo-lspace-rspace-2-ref.html | 363 ++++++++++++ .../operators/mo-lspace-rspace-2.html | 363 ++++++++++++ .../operators/mo-lspace-rspace-3-ref.html | 41 ++ .../operators/mo-lspace-rspace-3.html | 61 ++ .../operators/mo-lspace-rspace-4-ref.html | 20 + .../operators/mo-lspace-rspace-4.html | 19 + .../operators/mo-lspace-rspace-dynamic-ref.html | 48 ++ .../operators/mo-lspace-rspace-dynamic.html | 64 +++ .../operators/mo-lspace-rspace-ref.html | 41 ++ .../operators/mo-lspace-rspace.html | 38 ++ .../operators/mo-minsize-maxsize-001.html | 143 +++++ ...movablelimits-and-embellished-operator-ref.html | 33 ++ .../mo-movablelimits-and-embellished-operator.html | 39 ++ .../operators/mo-movablelimits-default-ref.html | 18 + .../operators/mo-movablelimits-default.html | 24 + .../operators/mo-movablelimits-dynamic-ref.html | 15 + .../operators/mo-movablelimits-dynamic.html | 27 + .../mo-movablelimits-from-in-flow-ref.html | 30 + .../operators/mo-movablelimits-from-in-flow.html | 53 ++ .../operators/mo-movablelimits-ref.html | 29 + .../operators/mo-movablelimits.html | 34 ++ .../mo-not-in-dictionary-lspace-rspace-ref.html | 47 ++ .../mo-not-in-dictionary-lspace-rspace.html | 52 ++ .../mo-not-in-dictionary-movablelimits-ref.html | 47 ++ .../mo-not-in-dictionary-movablelimits.html | 52 ++ .../operators/mo-paint-lspace-rspace-ref.html | 78 +++ .../operators/mo-paint-lspace-rspace.html | 71 +++ .../operators/mo-single-char-and-children-ref.html | 30 + .../operators/mo-single-char-and-children.html | 51 ++ .../operators/mo-stretch-properties-001.html | 68 +++ .../mo-stretch-properties-dynamic-001.html | 154 +++++ .../operators/op-dict-1-notref.html | 15 + .../presentation-markup/operators/op-dict-1.html | 15 + .../operators/op-dict-12-ref.html | 14 + .../presentation-markup/operators/op-dict-12.html | 15 + .../operators/op-dict-13-notref.html | 14 + .../presentation-markup/operators/op-dict-13.html | 15 + .../operators/op-dict-2-ref.html | 14 + .../presentation-markup/operators/op-dict-2.html | 15 + .../operators/op-dict-3-notref.html | 14 + .../presentation-markup/operators/op-dict-3.html | 15 + .../operators/op-dict-4-ref.html | 18 + .../presentation-markup/operators/op-dict-4.html | 19 + .../operators/op-dict-5-notref.html | 18 + .../presentation-markup/operators/op-dict-5.html | 19 + .../operators/op-dict-6-ref.html | 13 + .../presentation-markup/operators/op-dict-6.html | 14 + .../operators/op-dict-7-notref.html | 13 + .../presentation-markup/operators/op-dict-7.html | 14 + .../operators/op-dict-8-ref.html | 13 + .../presentation-markup/operators/op-dict-8.html | 14 + .../operators/op-dict-9-notref.html | 15 + .../presentation-markup/operators/op-dict-9.html | 14 + .../operator-dictionary-arabic-001-ref.html | 20 + .../operators/operator-dictionary-arabic-001.html | 28 + .../operator-dictionary-arabic-002-ref.html | 30 + .../operators/operator-dictionary-arabic-002.html | 39 ++ .../operators/operator-dictionary-combining.html | 159 ++++++ ...rator-dictionary-empty-and-three-chars-ref.html | 32 ++ .../operator-dictionary-empty-and-three-chars.html | 39 ++ .../operators/operator-dictionary-largeop-001.html | 33 ++ .../operators/operator-dictionary-largeop-002.html | 33 ++ .../operators/operator-dictionary-largeop-003.html | 33 ++ .../operators/operator-dictionary-largeop-004.html | 33 ++ .../operators/operator-dictionary-largeop-005.html | 33 ++ .../operators/operator-dictionary-largeop-006.html | 33 ++ .../operator-dictionary-movablelimits-001.html | 33 ++ .../operator-dictionary-movablelimits-002.html | 33 ++ .../operator-dictionary-movablelimits-003.html | 33 ++ .../operator-dictionary-movablelimits-004.html | 33 ++ .../operator-dictionary-movablelimits-005.html | 33 ++ .../operator-dictionary-movablelimits-006.html | 33 ++ .../operators/operator-dictionary-spacing-001.html | 33 ++ .../operators/operator-dictionary-spacing-002.html | 33 ++ .../operators/operator-dictionary-spacing-003.html | 33 ++ .../operators/operator-dictionary-spacing-004.html | 33 ++ .../operators/operator-dictionary-spacing-005.html | 33 ++ .../operators/operator-dictionary-spacing-006.html | 33 ++ .../operator-dictionary-stretchy-001.html | 33 ++ .../operator-dictionary-stretchy-002.html | 33 ++ .../operator-dictionary-stretchy-003.html | 33 ++ .../operator-dictionary-stretchy-004.html | 33 ++ .../operator-dictionary-stretchy-005.html | 33 ++ .../operator-dictionary-stretchy-006.html | 33 ++ .../operator-dictionary-symmetric-001.html | 33 ++ .../operator-dictionary-symmetric-002.html | 33 ++ .../operator-dictionary-symmetric-003.html | 33 ++ .../operator-dictionary-symmetric-004.html | 33 ++ .../operator-dictionary-symmetric-005.html | 33 ++ .../operator-dictionary-symmetric-006.html | 33 ++ .../painting-stretchy-operator-001-ref.html | 22 + .../operators/painting-stretchy-operator-001.html | 73 +++ .../support/operator-dictionary-tests.css | 10 + .../operators/support/operator-dictionary-tests.js | 226 ++++++++ ...dynamic-radical-paint-invalidation-001-ref.html | 125 ++++ .../dynamic-radical-paint-invalidation-001.html | 167 ++++++ .../radical-rendering-from-in-flow-ref.html | 18 + .../radicals/radical-rendering-from-in-flow.html | 49 ++ .../radicals/root-parameters-1.html | 222 ++++++++ .../radicals/root-parameters-2.html | 79 +++ .../presentation-markup/scripts/cramped-001.html | 627 ++++++++++++++++++++ .../scripts/empty-underover.html | 68 +++ .../scripts/mover-accent-dynamic-change-ref.html | 9 + .../scripts/mover-accent-dynamic-change.html | 16 + .../scripts/mprescripts-001-ref.html | 19 + .../scripts/mprescripts-001.html | 26 + .../presentation-markup/scripts/none-001-ref.html | 19 + .../presentation-markup/scripts/none-001.html | 26 + .../presentation-markup/scripts/none-002-ref.html | 73 +++ .../presentation-markup/scripts/none-002.html | 76 +++ .../presentation-markup/scripts/subsup-1.html | 114 ++++ .../presentation-markup/scripts/subsup-2.html | 173 ++++++ .../presentation-markup/scripts/subsup-3.html | 192 +++++++ .../presentation-markup/scripts/subsup-4.html | 129 +++++ .../presentation-markup/scripts/subsup-5.html | 97 ++++ .../presentation-markup/scripts/subsup-6.html | 120 ++++ ...y-scriptshift-attributes-001.tentative-ref.html | 35 ++ ...egacy-scriptshift-attributes-001.tentative.html | 48 ++ .../scripts/subsup-parameters-1.html | 354 ++++++++++++ .../scripts/subsup-parameters-2.html | 181 ++++++ .../presentation-markup/scripts/underover-1.html | 175 ++++++ .../underover-legacy-align-attribute-001-ref.html | 61 ++ .../underover-legacy-align-attribute-001.html | 72 +++ .../scripts/underover-parameters-1.html | 151 +++++ .../scripts/underover-parameters-2.html | 151 +++++ .../scripts/underover-parameters-3.html | 452 +++++++++++++++ .../scripts/underover-parameters-4.tentative.html | 335 +++++++++++ ...over-parameters-and-embellished-operator-1.html | 151 +++++ ...over-parameters-and-embellished-operator-2.html | 151 +++++ .../scripts/underover-stretchy-001-ref.html | 167 ++++++ .../scripts/underover-stretchy-001.html | 270 +++++++++ .../scripts/underover-stretchy-002-ref.html | 167 ++++++ .../scripts/underover-stretchy-002.html | 272 +++++++++ .../scripts/underover-stretchy-003-ref.html | 167 ++++++ .../scripts/underover-stretchy-003.html | 272 +++++++++ .../spaces/mspace-children-ref.html | 11 + .../spaces/mspace-children.html | 13 + .../spaces/mspace-percentage-001-ref.html | 18 + .../spaces/mspace-percentage-001.html | 33 ++ .../spaces/mspace-width-height-001.html | 113 ++++ .../mathml/presentation-markup/spaces/space-1.html | 150 +++++ .../presentation-markup/spaces/space-2-ref.html | 15 + .../mathml/presentation-markup/spaces/space-2.html | 42 ++ .../presentation-markup/spaces/space-like-001.html | 340 +++++++++++ .../presentation-markup/spaces/space-like-002.html | 174 ++++++ .../presentation-markup/spaces/space-like-003.html | 252 +++++++++ .../presentation-markup/spaces/space-like-004.html | 446 +++++++++++++++ .../spaces/space-vertical-align.tentative-ref.html | 15 + .../spaces/space-vertical-align.tentative.html | 22 + .../tables/dynamic-table-001.html | 301 ++++++++++ .../presentation-markup/tables/table-001.html | 286 ++++++++++ .../presentation-markup/tables/table-002.html | 146 +++++ .../presentation-markup/tables/table-003.html | 146 +++++ .../tables/table-axis-height.html | 55 ++ .../tables/table-cell-mrow-layout.html | 74 +++ .../tables/table-default-styles-001.html | 49 ++ .../tokens/dynamic-mtext-like-001-ref.html | 43 ++ .../tokens/dynamic-mtext-like-001.html | 70 +++ .../presentation-markup/tokens/ms-001-ref.html | 22 + .../mathml/presentation-markup/tokens/ms-001.html | 30 + .../css-styling/attribute-mapping-001.html | 111 ++++ .../css-styling/attribute-mapping-002.html | 118 ++++ .../relations/css-styling/blur-filter-ref.html | 13 + .../mathml/relations/css-styling/blur-filter.html | 21 + .../relations/css-styling/clip-path-ref.html | 13 + .../mathml/relations/css-styling/clip-path.html | 21 + .../mathml/relations/css-styling/clip-ref.html | 13 + .../tests/mathml/relations/css-styling/clip.html | 21 + .../relations/css-styling/color-001-ref.html | 12 + .../mathml/relations/css-styling/color-001.html | 34 ++ .../relations/css-styling/color-002-ref.html | 12 + .../mathml/relations/css-styling/color-002.html | 29 + .../relations/css-styling/color-003-ref.html | 12 + .../mathml/relations/css-styling/color-003.html | 31 + .../css-styling/color-004.tentative-ref.html | 12 + .../relations/css-styling/color-004.tentative.html | 55 ++ .../relations/css-styling/color-005-ref.html | 12 + .../mathml/relations/css-styling/color-005.html | 88 +++ .../relations/css-styling/default-font-family.html | 36 ++ ...efault-properties-on-semantics-and-maction.html | 47 ++ .../default-properties-on-the-math-root.html | 57 ++ .../relations/css-styling/display-1-ref.html | 12 + .../mathml/relations/css-styling/display-1.html | 18 + .../mathml/relations/css-styling/display-2.html | 139 +++++ .../relations/css-styling/display-contents.html | 36 ++ .../css-styling/display-with-overflow-ref.html | 20 + .../css-styling/display-with-overflow.html | 19 + .../css-styling/displaystyle-011-ref.html | 155 +++++ .../relations/css-styling/displaystyle-011.html | 168 ++++++ .../css-styling/displaystyle-012-ref.html | 30 + .../relations/css-styling/displaystyle-012.html | 37 ++ .../css-styling/displaystyle-013-ref.html | 58 ++ .../relations/css-styling/displaystyle-013.html | 80 +++ .../css-styling/displaystyle-014-ref.html | 35 ++ .../relations/css-styling/displaystyle-014.html | 55 ++ .../css-styling/displaystyle-015-ref.html | 58 ++ .../relations/css-styling/displaystyle-015.html | 83 +++ .../relations/css-styling/displaystyle-1.html | 136 +++++ .../relations/css-styling/displaystyle-2.html | 208 +++++++ .../relations/css-styling/displaystyle-3.html | 84 +++ .../relations/css-styling/dynamic-dir-1-ref.html | 75 +++ .../relations/css-styling/dynamic-dir-1.html | 105 ++++ ...ating-inside-mathml-with-block-display-ref.html | 15 + .../floating-inside-mathml-with-block-display.html | 20 + .../css-styling/floats/floating-math-ref.html | 14 + .../css-styling/floats/floating-math.html | 19 + .../css-styling/floats/not-floating-001.html | 74 +++ .../css-styling/ignored-properties-001.html | 79 +++ .../legacy-scriptminsize-attribute-ref.html | 27 + .../legacy-scriptminsize-attribute.html | 32 ++ .../legacy-scriptsizemultiplier-attribute-ref.html | 27 + .../legacy-scriptsizemultiplier-attribute.html | 32 ++ .../relations/css-styling/lengths-1-ref.html | 14 + .../mathml/relations/css-styling/lengths-1.html | 122 ++++ .../mathml/relations/css-styling/lengths-2.html | 266 +++++++++ .../css-styling/mathbackground-001-notref.html | 9 + .../relations/css-styling/mathbackground-001.html | 14 + .../css-styling/mathbackground-002-notref.html | 9 + .../relations/css-styling/mathbackground-002.html | 14 + .../css-styling/mathbackground-003-notref.html | 7 + .../relations/css-styling/mathbackground-003.html | 11 + .../css-styling/mathbackground-004-notref.html | 9 + .../relations/css-styling/mathbackground-004.html | 14 + .../css-styling/mathcolor-001-notref.html | 9 + .../relations/css-styling/mathcolor-001.html | 13 + .../css-styling/mathcolor-002-notref.html | 9 + .../relations/css-styling/mathcolor-002.html | 14 + .../css-styling/mathcolor-003-notref.html | 7 + .../relations/css-styling/mathcolor-003.html | 11 + .../css-styling/mathcolor-004-notref.html | 9 + .../relations/css-styling/mathcolor-004.html | 14 + .../mathcolor-mathbackground-css-ref.html | 23 + .../css-styling/mathcolor-mathbackground-css.html | 27 + .../mathsize-attribute-css-keywords-ref.html | 26 + .../mathsize-attribute-css-keywords.html | 33 ++ .../mathsize-attribute-legacy-values-ref.html | 16 + .../mathsize-attribute-legacy-values.html | 23 + .../css-styling/mathsize-attribute-ref.html | 19 + .../relations/css-styling/mathsize-attribute.html | 22 + .../css-styling/mathvariant-auto-ref.html | 139 +++++ .../relations/css-styling/mathvariant-auto.html | 145 +++++ .../mathvariant-font-style-font-weight-ref.html | 44 ++ .../mathvariant-font-style-font-weight.html | 49 ++ .../css-styling/mi-fontstyle-fontweight-ref.html | 22 + .../css-styling/mi-fontstyle-fontweight.html | 27 + .../relations/css-styling/multi-column-layout.html | 56 ++ .../not-participating-to-parent-layout.html | 77 +++ .../out-of-flow/absolutely-positioned-001-ref.html | 18 + .../out-of-flow/absolutely-positioned-001.html | 25 + .../out-of-flow/all-mathml-containers.html | 103 ++++ .../out-of-flow/fixed-positioned-001-ref.html | 28 + .../out-of-flow/fixed-positioned-001.html | 35 ++ .../css-styling/overflow/computed-value-001.html | 45 ++ .../padding-border-margin/border-001.html | 179 ++++++ .../padding-border-margin/border-002.html | 72 +++ .../padding-border-margin/margin-001.html | 179 ++++++ .../padding-border-margin/margin-002.html | 86 +++ .../padding-border-margin/margin-003.html | 93 +++ .../padding-border-margin/padding-001.html | 179 ++++++ .../padding-border-margin/padding-002.html | 71 +++ .../padding-border-margin-001-ref.html | 17 + .../padding-border-margin-001.html | 22 + .../padding-border-margin-002-ref.html | 18 + .../padding-border-margin-002.html | 34 ++ .../padding-border-margin-003-ref.html | 18 + .../padding-border-margin-003.html | 33 ++ .../css-styling/presentational-hints-001-ref.html | 62 ++ .../css-styling/presentational-hints-001.html | 63 +++ .../css-styling/presentational-hints-002-ref.html | 59 ++ .../css-styling/presentational-hints-002.html | 84 +++ .../relations/css-styling/scriptlevel-001.html | 219 +++++++ .../relations/css-styling/transform-ref.html | 13 + .../mathml/relations/css-styling/transform.html | 21 + .../relations/css-styling/visibility-001-ref.html | 12 + .../relations/css-styling/visibility-001.html | 34 ++ .../relations/css-styling/visibility-002-ref.html | 12 + .../relations/css-styling/visibility-002.html | 29 + .../relations/css-styling/visibility-003-ref.html | 12 + .../relations/css-styling/visibility-003.html | 31 + .../css-styling/visibility-004.tentative-ref.html | 12 + .../css-styling/visibility-004.tentative.html | 55 ++ .../relations/css-styling/visibility-005-ref.html | 12 + .../relations/css-styling/visibility-005.html | 88 +++ .../relations/css-styling/width-height-001.html | 62 ++ .../css-styling/width-height-002-ref.html | 162 ++++++ .../relations/css-styling/width-height-002.html | 135 +++++ .../css-styling/width-height-003-ref.html | 178 ++++++ .../relations/css-styling/width-height-003.html | 150 +++++ .../relations/css-styling/width-height-004.html | 133 +++++ .../writing-mode/force-horizontal-tb.html | 50 ++ .../reset-and-logicial-property-ref.html | 15 + .../writing-mode/reset-and-logicial-property.html | 20 + .../css-styling/writing-mode/writing-mode-001.html | 69 +++ .../css-styling/writing-mode/writing-mode-002.html | 82 +++ .../mathml/relations/html5-tree/class-1-ref.html | 15 + .../tests/mathml/relations/html5-tree/class-1.html | 24 + .../tests/mathml/relations/html5-tree/class-2.html | 42 ++ .../clipboard-event-handlers.tentative.html | 119 ++++ .../html5-tree/color-attributes-1-ref.html | 26 + .../relations/html5-tree/color-attributes-1.html | 38 ++ .../relations/html5-tree/content-editable.html | 51 ++ .../css-inline-style-dynamic.tentative-ref.html | 18 + .../css-inline-style-dynamic.tentative.html | 46 ++ .../css-inline-style-interface.tentative.html | 54 ++ .../mathml/relations/html5-tree/display-1.html | 175 ++++++ .../mathml/relations/html5-tree/display-2-ref.html | 31 + .../mathml/relations/html5-tree/display-2.html | 37 ++ .../mathml/relations/html5-tree/dynamic-1-ref.html | 16 + .../mathml/relations/html5-tree/dynamic-1.html | 30 + .../mathml/relations/html5-tree/dynamic-2-ref.html | 16 + .../mathml/relations/html5-tree/dynamic-2.html | 27 + .../html5-tree/dynamic-childlist-001.html | 630 +++++++++++++++++++++ .../html5-tree/dynamic-childlist-002.html | 119 ++++ .../relations/html5-tree/href-click-1-ref.html | 15 + .../mathml/relations/html5-tree/href-click-1.html | 36 ++ .../relations/html5-tree/href-click-2-ref.html | 15 + .../mathml/relations/html5-tree/href-click-2.html | 40 ++ .../mathml/relations/html5-tree/href-click-3.html | 38 ++ ...ml-or-foreign-element-interfaces.tentative.html | 111 ++++ .../html5-tree/integration-point-1-ref.html | 13 + .../relations/html5-tree/integration-point-1.html | 25 + .../html5-tree/integration-point-2-ref.html | 15 + .../relations/html5-tree/integration-point-2.html | 72 +++ .../html5-tree/integration-point-3-ref.html | 17 + .../relations/html5-tree/integration-point-3.html | 63 +++ .../relations/html5-tree/integration-point-4.html | 59 ++ .../relations/html5-tree/integration-point-5.html | 57 ++ .../math-global-event-handlers.tentative.html | 155 +++++ .../html5-tree/required-extensions-2-ref.html | 13 + .../html5-tree/required-extensions-2.html | 23 + .../mathml/relations/html5-tree/tabindex-001.html | 58 ++ .../mathml/relations/html5-tree/tabindex-002.html | 71 +++ .../html5-tree/unique-identifier-1-iframe-1.html | 18 + .../html5-tree/unique-identifier-1-iframe-2.html | 15 + .../html5-tree/unique-identifier-1-ref.html | 16 + .../relations/html5-tree/unique-identifier-1.html | 19 + .../relations/html5-tree/unique-identifier-2.html | 30 + .../html5-tree/unique-identifier-3-ref.html | 15 + .../relations/html5-tree/unique-identifier-3.html | 24 + ...cal-alphanumeric-symbols-with-default-font.html | 39 ++ .../text-and-math/use-typo-metrics-1-ref.html | 19 + .../text-and-math/use-typo-metrics-1.html | 51 ++ .../tests/mathml/support/attribute-values.js | 31 + .../tests/mathml/support/box-comparison.js | 107 ++++ .../tests/mathml/support/box-navigation.js | 29 + .../mathml/support/feature-detection-operators.js | 86 +++ .../tests/mathml/support/feature-detection.js | 325 +++++++++++ testing/web-platform/tests/mathml/support/fonts.js | 9 + .../tests/mathml/support/layout-comparison.js | 112 ++++ .../tests/mathml/support/mathml-fragments.js | 189 +++++++ .../tests/mathml/support/operator-dictionary.js | 42 ++ .../tests/mathml/support/operator-dictionary.json | 1 + .../web-platform/tests/mathml/tools/axisheight.py | 27 + .../web-platform/tests/mathml/tools/fractions.py | 163 ++++++ testing/web-platform/tests/mathml/tools/largeop.py | 64 +++ testing/web-platform/tests/mathml/tools/limits.py | 78 +++ .../web-platform/tests/mathml/tools/math-text.py | 64 +++ .../tests/mathml/tools/mathvariant-transforms.py | 202 +++++++ .../tests/mathml/tools/operator-dictionary.py | 130 +++++ .../tests/mathml/tools/operator-dictionary.xsl | 73 +++ .../tests/mathml/tools/percentscaledown.py | 24 + .../web-platform/tests/mathml/tools/radicals.py | 133 +++++ testing/web-platform/tests/mathml/tools/scripts.py | 155 +++++ testing/web-platform/tests/mathml/tools/stacks.py | 80 +++ .../tests/mathml/tools/stretchstacks.py | 78 +++ .../mathml/tools/stretchy-centered-on-baseline.py | 44 ++ .../web-platform/tests/mathml/tools/stretchy.py | 43 ++ .../web-platform/tests/mathml/tools/underover.py | 88 +++ .../tests/mathml/tools/use-typo-lineheight.py | 53 ++ .../tests/mathml/tools/utils/__init__.py | 1 + .../tests/mathml/tools/utils/mathfont.py | 232 ++++++++ .../web-platform/tests/mathml/tools/utils/misc.py | 35 ++ testing/web-platform/tests/mathml/tools/xHeight.py | 12 + 580 files changed, 36168 insertions(+) create mode 100644 testing/web-platform/tests/mathml/META.yml create mode 100644 testing/web-platform/tests/mathml/README.md create mode 100644 testing/web-platform/tests/mathml/crashtests/children-with-negative-block-sizes.html create mode 100644 testing/web-platform/tests/mathml/crashtests/children-with-negative-inline-sizes.html create mode 100644 testing/web-platform/tests/mathml/crashtests/chrome-bug-1287843.html create mode 100644 testing/web-platform/tests/mathml/crashtests/display-and-column-properties.html create mode 100644 testing/web-platform/tests/mathml/crashtests/dynamic-height-within-table-cell.html create mode 100644 testing/web-platform/tests/mathml/crashtests/fixed-pos-children.html create mode 100644 testing/web-platform/tests/mathml/crashtests/math-depth-overflow.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mathml-in-svg-001.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mmultiscripts-with-two-prescripts.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1028521-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1061027.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1221888-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1373767-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1376158.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/151054-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/1600635.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/289180-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/307826-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/307839-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/307839-2.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/323733-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/323737-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/323738-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/323741-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/323742-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/336074-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/347355-1-inner.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.gif create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/347495-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/347507-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/348492-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/348709-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/348811-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/348811-2.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/353612-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/355986-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/364685-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/366012-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/366564-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/367107-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/368430-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/370791-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/370862-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/372483-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/373472-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/373472-2.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/375562-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/377824-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/379418-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/385226-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/393760-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/397518-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/398038-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/400475-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/402400-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/403156-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/404485-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/405187-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/405271-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/412237-1.xml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/413063-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/416907-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/420420-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/431072-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/443089-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/462929-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/463763-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/463763-2.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/476547-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/541620-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/557474-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/654928-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/655451-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/713606-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/716349-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/767251.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/770710-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/848725-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/848725-2.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/947557-1.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mozilla/973322-1.xhtml create mode 100644 testing/web-platform/tests/mathml/crashtests/mspace-mpadded-negative-dimensions.html create mode 100644 testing/web-platform/tests/mathml/crashtests/mtd-as-multicol.html create mode 100644 testing/web-platform/tests/mathml/crashtests/multicol-inside-ms.html create mode 100644 testing/web-platform/tests/mathml/crashtests/multicol-on-token-elements.html create mode 100644 testing/web-platform/tests/mathml/crashtests/operator-and-first-letter.html create mode 100644 testing/web-platform/tests/mathml/crashtests/scrollbar-caching-assert.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-007-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-007.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-008-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-008.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-010-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-010.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-token-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction-token.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/direction/direction.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/merror-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-fallback.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-preferred-width.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/no-spacing.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/spacing.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/mrow/stretch-along-block-axis-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001-crash.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/largeop-hit-testing.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-axis-height-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-form.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9-notref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-combining.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.css create mode 100644 testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.js create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/cramped-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/empty-underover.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/none-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/none-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/none-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/none-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-4.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-5.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-6.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-3.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-width-height-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-1.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-2-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-2.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-004.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/dynamic-table-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-002.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-003.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-axis-height.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-cell-mrow-layout.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tables/table-default-styles-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001-ref.html create mode 100644 testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/blur-filter-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/blur-filter.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/clip-path-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/clip-path.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/clip-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/clip.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-002-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-003-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-005-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/color-005.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/default-font-family.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-semantics-and-maction.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-the-math-root.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-1.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-2.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-contents.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-1.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-2.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/displaystyle-3.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/floats/not-floating-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/ignored-properties-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/lengths-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/lengths-1.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/lengths-2.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004-notref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/multi-column-layout.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/not-participating-to-parent-layout.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/overflow/computed-value-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/scriptlevel-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/transform-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/transform.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-001-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-002-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-003-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-005-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/visibility-005.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-002-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-002.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-003-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-003.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/width-height-004.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/writing-mode/force-horizontal-tb.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-001.html create mode 100644 testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-002.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/class-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/class-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/class-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/content-editable.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-interface.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/display-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/display-2-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/display-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-001.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-002.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/href-click-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/href-click-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/href-click-2-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/href-click-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/href-click-3.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-4.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/integration-point-5.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/tabindex-001.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/tabindex-002.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-2.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3.html create mode 100644 testing/web-platform/tests/mathml/relations/text-and-math/basic-mathematical-alphanumeric-symbols-with-default-font.html create mode 100644 testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1-ref.html create mode 100644 testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1.html create mode 100644 testing/web-platform/tests/mathml/support/attribute-values.js create mode 100644 testing/web-platform/tests/mathml/support/box-comparison.js create mode 100644 testing/web-platform/tests/mathml/support/box-navigation.js create mode 100644 testing/web-platform/tests/mathml/support/feature-detection-operators.js create mode 100644 testing/web-platform/tests/mathml/support/feature-detection.js create mode 100644 testing/web-platform/tests/mathml/support/fonts.js create mode 100644 testing/web-platform/tests/mathml/support/layout-comparison.js create mode 100644 testing/web-platform/tests/mathml/support/mathml-fragments.js create mode 100644 testing/web-platform/tests/mathml/support/operator-dictionary.js create mode 100644 testing/web-platform/tests/mathml/support/operator-dictionary.json create mode 100755 testing/web-platform/tests/mathml/tools/axisheight.py create mode 100755 testing/web-platform/tests/mathml/tools/fractions.py create mode 100755 testing/web-platform/tests/mathml/tools/largeop.py create mode 100755 testing/web-platform/tests/mathml/tools/limits.py create mode 100755 testing/web-platform/tests/mathml/tools/math-text.py create mode 100755 testing/web-platform/tests/mathml/tools/mathvariant-transforms.py create mode 100755 testing/web-platform/tests/mathml/tools/operator-dictionary.py create mode 100644 testing/web-platform/tests/mathml/tools/operator-dictionary.xsl create mode 100755 testing/web-platform/tests/mathml/tools/percentscaledown.py create mode 100755 testing/web-platform/tests/mathml/tools/radicals.py create mode 100755 testing/web-platform/tests/mathml/tools/scripts.py create mode 100755 testing/web-platform/tests/mathml/tools/stacks.py create mode 100755 testing/web-platform/tests/mathml/tools/stretchstacks.py create mode 100755 testing/web-platform/tests/mathml/tools/stretchy-centered-on-baseline.py create mode 100755 testing/web-platform/tests/mathml/tools/stretchy.py create mode 100755 testing/web-platform/tests/mathml/tools/underover.py create mode 100755 testing/web-platform/tests/mathml/tools/use-typo-lineheight.py create mode 100644 testing/web-platform/tests/mathml/tools/utils/__init__.py create mode 100644 testing/web-platform/tests/mathml/tools/utils/mathfont.py create mode 100644 testing/web-platform/tests/mathml/tools/utils/misc.py create mode 100755 testing/web-platform/tests/mathml/tools/xHeight.py (limited to 'testing/web-platform/tests/mathml') diff --git a/testing/web-platform/tests/mathml/META.yml b/testing/web-platform/tests/mathml/META.yml new file mode 100644 index 0000000000..ee5c81bfb6 --- /dev/null +++ b/testing/web-platform/tests/mathml/META.yml @@ -0,0 +1,3 @@ +spec: https://w3c.github.io/mathml-core/ +suggested_reviewers: + - fred-wang diff --git a/testing/web-platform/tests/mathml/README.md b/testing/web-platform/tests/mathml/README.md new file mode 100644 index 0000000000..4511b3e7df --- /dev/null +++ b/testing/web-platform/tests/mathml/README.md @@ -0,0 +1,12 @@ +# Tests for the MathML Core specification + +This directory contains tests for the +[MathML Core specification](https://w3c.github.io/mathml-core/). +Many of the tests verify OpenType features and require specific Web fonts for +that purpose. WOFF fonts are generated by scripts in the `tools/` folder using +the Python API of +[fontforge](https://github.com/fontforge/fontforge/). A recent enough version +of FontForge is necessary so that it includes fixes for +[WOFF checkSumAdjustment](https://github.com/fontforge/fontforge/issues/926), +[USE_TYPO_METRICS flag](https://github.com/fontforge/fontforge/pull/2274) and +for other various bugs. diff --git a/testing/web-platform/tests/mathml/crashtests/children-with-negative-block-sizes.html b/testing/web-platform/tests/mathml/crashtests/children-with-negative-block-sizes.html new file mode 100644 index 0000000000..c50f9be153 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/children-with-negative-block-sizes.html @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/children-with-negative-inline-sizes.html b/testing/web-platform/tests/mathml/crashtests/children-with-negative-inline-sizes.html new file mode 100644 index 0000000000..5c41fc8969 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/children-with-negative-inline-sizes.html @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/chrome-bug-1287843.html b/testing/web-platform/tests/mathml/crashtests/chrome-bug-1287843.html new file mode 100644 index 0000000000..6fc95fc12e --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/chrome-bug-1287843.html @@ -0,0 +1,12 @@ + + + +
+ + + + + + + +
diff --git a/testing/web-platform/tests/mathml/crashtests/display-and-column-properties.html b/testing/web-platform/tests/mathml/crashtests/display-and-column-properties.html new file mode 100644 index 0000000000..c40a2a0549 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/display-and-column-properties.html @@ -0,0 +1,30 @@ + + + + MathML elements with display and column properties + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/dynamic-height-within-table-cell.html b/testing/web-platform/tests/mathml/crashtests/dynamic-height-within-table-cell.html new file mode 100644 index 0000000000..cf42101bc8 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/dynamic-height-within-table-cell.html @@ -0,0 +1,33 @@ + + + + Dynamic height within table cell + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/fixed-pos-children.html b/testing/web-platform/tests/mathml/crashtests/fixed-pos-children.html new file mode 100644 index 0000000000..773439d6f3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/fixed-pos-children.html @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/math-depth-overflow.html b/testing/web-platform/tests/mathml/crashtests/math-depth-overflow.html new file mode 100644 index 0000000000..e096dbb558 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/math-depth-overflow.html @@ -0,0 +1,10 @@ + diff --git a/testing/web-platform/tests/mathml/crashtests/mathml-in-svg-001.html b/testing/web-platform/tests/mathml/crashtests/mathml-in-svg-001.html new file mode 100644 index 0000000000..94a905f3b0 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mathml-in-svg-001.html @@ -0,0 +1,3 @@ + + +42 diff --git a/testing/web-platform/tests/mathml/crashtests/mmultiscripts-with-two-prescripts.html b/testing/web-platform/tests/mathml/crashtests/mmultiscripts-with-two-prescripts.html new file mode 100644 index 0000000000..54f9384606 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mmultiscripts-with-two-prescripts.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1028521-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/1028521-1.xhtml new file mode 100644 index 0000000000..b8d0947741 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1028521-1.xhtml @@ -0,0 +1,5 @@ + + +
  • + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1061027.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1061027.html new file mode 100644 index 0000000000..3187f500a3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1061027.html @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1221888-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1221888-1.html new file mode 100644 index 0000000000..741daa7503 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1221888-1.html @@ -0,0 +1,15 @@ + + + + + + + +
    + + + +
    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1373767-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1373767-1.html new file mode 100644 index 0000000000..a159cec7be --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1373767-1.html @@ -0,0 +1,22 @@ + + + + + + + +
    + +
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1376158.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1376158.html new file mode 100644 index 0000000000..42b6dd73c8 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1376158.html @@ -0,0 +1,6 @@ + + +> + +) + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/151054-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/151054-1.xml new file mode 100644 index 0000000000..f634d089f3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/151054-1.xml @@ -0,0 +1,15 @@ + + + + + Math with position: absolute + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/1600635.html b/testing/web-platform/tests/mathml/crashtests/mozilla/1600635.html new file mode 100644 index 0000000000..d6ad315885 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/1600635.html @@ -0,0 +1,16 @@ + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/289180-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/289180-1.xml new file mode 100644 index 0000000000..8d1f2e843c --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/289180-1.xml @@ -0,0 +1,16 @@ + + + + + x + y + + + + + + x + y + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/307826-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/307826-1.xhtml new file mode 100644 index 0000000000..02d436e825 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/307826-1.xhtml @@ -0,0 +1,30 @@ + + + + +Testcase for MathML crash + + + + + + + + +
    Floated div
    + +mi + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/307839-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/307839-1.xhtml new file mode 100644 index 0000000000..a26e58ac07 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/307839-1.xhtml @@ -0,0 +1,15 @@ + + + Testcase + + +
    + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/307839-2.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/307839-2.xhtml new file mode 100644 index 0000000000..05dc08a78f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/307839-2.xhtml @@ -0,0 +1,24 @@ + + +]> + + + +Testcase bug - Evil mrow:hover testcase crashes Mozilla + + + + + + hovering over this should not crash Mozilla + + 10 + times + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/323733-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/323733-1.xml new file mode 100644 index 0000000000..5551d8588c --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/323733-1.xml @@ -0,0 +1,7 @@ + +
    + + + +
    + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/323737-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/323737-1.xml new file mode 100644 index 0000000000..ad673f9460 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/323737-1.xml @@ -0,0 +1,9 @@ + +
    + + + + + +
    + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/323738-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/323738-1.xml new file mode 100644 index 0000000000..318aa93b4e --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/323738-1.xml @@ -0,0 +1,11 @@ + +
    + + + + + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/323741-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/323741-1.xml new file mode 100644 index 0000000000..8527c1a783 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/323741-1.xml @@ -0,0 +1,13 @@ + +
    + + + + + + + f + + +
    + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/323742-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/323742-1.xml new file mode 100644 index 0000000000..2cd225990d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/323742-1.xml @@ -0,0 +1,16 @@ + +
    + + + + + + + + + + + + +
    + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/336074-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/336074-1.xhtml new file mode 100644 index 0000000000..3d1f5b4223 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/336074-1.xhtml @@ -0,0 +1,25 @@ + + + + + + + + + + +z + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1-inner.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1-inner.xhtml new file mode 100644 index 0000000000..22689c3c12 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1-inner.xhtml @@ -0,0 +1,28 @@ + + + + + + + +
    + + + + t + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.gif b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.gif new file mode 100644 index 0000000000..475ea8c164 Binary files /dev/null and b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.gif differ diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.html new file mode 100644 index 0000000000..0d61fb9d4a --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/347355-1.html @@ -0,0 +1,9 @@ + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347495-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/347495-1.xhtml new file mode 100644 index 0000000000..4a65b8f34d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/347495-1.xhtml @@ -0,0 +1,10 @@ + + + +
    + 1 +
    + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/347507-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/347507-1.xhtml new file mode 100644 index 0000000000..274ae48ff2 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/347507-1.xhtml @@ -0,0 +1,29 @@ + + + + + + + + + +
    + + y + +
    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/348492-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/348492-1.xhtml new file mode 100644 index 0000000000..f59c9353a4 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/348492-1.xhtml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/348709-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/348709-1.xhtml new file mode 100644 index 0000000000..907ede6abb --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/348709-1.xhtml @@ -0,0 +1,20 @@ + + + + + + + + +
    + x y +
    + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/348811-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/348811-1.xhtml new file mode 100644 index 0000000000..f6557e5a67 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/348811-1.xhtml @@ -0,0 +1,26 @@ + + + + + + + + +
    + + + x + +
    + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/348811-2.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/348811-2.xhtml new file mode 100644 index 0000000000..d6a741765a --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/348811-2.xhtml @@ -0,0 +1,31 @@ + + + + + + + + +
    + + + + + x + + + + +
    + + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/353612-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/353612-1.xhtml new file mode 100644 index 0000000000..386e66f933 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/353612-1.xhtml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/355986-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/355986-1.xhtml new file mode 100644 index 0000000000..787e1f6772 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/355986-1.xhtml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + +
    + + + + x + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/364685-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/364685-1.xhtml new file mode 100644 index 0000000000..ab2b56a2f8 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/364685-1.xhtml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/366012-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/366012-1.xhtml new file mode 100644 index 0000000000..55f29f3ac3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/366012-1.xhtml @@ -0,0 +1,23 @@ + + + + + + + +
    +

    This paragraph disappears.

    + y0 +
    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/366564-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/366564-1.xhtml new file mode 100644 index 0000000000..8bb112a30d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/366564-1.xhtml @@ -0,0 +1,44 @@ + + + + + + + + + +
    + + b + 2 + +
    + +
    + j + = + + 55 + +
    + +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/367107-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/367107-1.html new file mode 100644 index 0000000000..775ace87e0 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/367107-1.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/368430-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/368430-1.xhtml new file mode 100644 index 0000000000..79e10c46ac --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/368430-1.xhtml @@ -0,0 +1,5 @@ + + +Foo Bar + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/370791-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/370791-1.xhtml new file mode 100644 index 0000000000..d72eb5f709 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/370791-1.xhtml @@ -0,0 +1,33 @@ + + + + + + + +a

    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/370862-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/370862-1.xhtml new file mode 100644 index 0000000000..fa2f1a4d67 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/370862-1.xhtml @@ -0,0 +1,27 @@ + + + + + + + + +
    + ++1 + +
    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/372483-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/372483-1.xhtml new file mode 100644 index 0000000000..41edd7d9b7 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/372483-1.xhtml @@ -0,0 +1,7 @@ + + + +
    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/373472-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/373472-1.xhtml new file mode 100644 index 0000000000..6c6a304a73 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/373472-1.xhtml @@ -0,0 +1,20 @@ + + + + + + + +

    Foo -

    + +

    + bar

    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/373472-2.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/373472-2.xhtml new file mode 100644 index 0000000000..1c7e1c7ade --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/373472-2.xhtml @@ -0,0 +1,9 @@ + + + + + +

    k

    + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/375562-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/375562-1.xhtml new file mode 100644 index 0000000000..7b00d1f91a --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/375562-1.xhtml @@ -0,0 +1,38 @@ + + + + + + + +
    + + a + + + b + c + +
    + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/377824-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/377824-1.xhtml new file mode 100644 index 0000000000..ddbe7da664 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/377824-1.xhtml @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/379418-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/379418-1.xhtml new file mode 100644 index 0000000000..dc6e9e5711 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/379418-1.xhtml @@ -0,0 +1,7 @@ + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/385226-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/385226-1.xhtml new file mode 100644 index 0000000000..b1d261eb38 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/385226-1.xhtml @@ -0,0 +1,29 @@ + + + + + + + + +
    + + + + x + y + + + z + w + + + +
    + + + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/393760-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/393760-1.xhtml new file mode 100644 index 0000000000..cb5c2d7a12 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/393760-1.xhtml @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/397518-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/397518-1.xhtml new file mode 100644 index 0000000000..bc460ead11 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/397518-1.xhtml @@ -0,0 +1,15 @@ + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/398038-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/398038-1.html new file mode 100644 index 0000000000..b383141c45 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/398038-1.html @@ -0,0 +1,8 @@ + +Crashtest for bug 398038 + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/400475-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/400475-1.xhtml new file mode 100644 index 0000000000..13ff2fcb63 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/400475-1.xhtml @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/402400-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/402400-1.xhtml new file mode 100644 index 0000000000..5212d67f16 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/402400-1.xhtml @@ -0,0 +1,41 @@ + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/403156-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/403156-1.xhtml new file mode 100644 index 0000000000..b49bff7d04 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/403156-1.xhtml @@ -0,0 +1,12 @@ + + + + + + + +c
    t䦚
    䦚x䦚䦚2
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/404485-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/404485-1.xhtml new file mode 100644 index 0000000000..fea18cbd59 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/404485-1.xhtml @@ -0,0 +1,9 @@ + + + + +x + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/405187-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/405187-1.xhtml new file mode 100644 index 0000000000..537512e629 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/405187-1.xhtml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/405271-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/405271-1.xml new file mode 100644 index 0000000000..c94525c638 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/405271-1.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/412237-1.xml b/testing/web-platform/tests/mathml/crashtests/mozilla/412237-1.xml new file mode 100644 index 0000000000..2e8f13b73e --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/412237-1.xml @@ -0,0 +1,11 @@ + + + + + + + xy + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/413063-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/413063-1.xhtml new file mode 100644 index 0000000000..b595acd1ce --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/413063-1.xhtml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/416907-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/416907-1.xhtml new file mode 100644 index 0000000000..94a9abde21 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/416907-1.xhtml @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/420420-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/420420-1.xhtml new file mode 100644 index 0000000000..db17b277a7 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/420420-1.xhtml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/431072-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/431072-1.xhtml new file mode 100644 index 0000000000..f25ce28f14 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/431072-1.xhtml @@ -0,0 +1,25 @@ + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/443089-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/443089-1.xhtml new file mode 100644 index 0000000000..2630cea131 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/443089-1.xhtml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/462929-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/462929-1.html new file mode 100644 index 0000000000..386d8e138f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/462929-1.html @@ -0,0 +1,12 @@ + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/463763-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/463763-1.xhtml new file mode 100644 index 0000000000..61df8ff0c3 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/463763-1.xhtml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/463763-2.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/463763-2.xhtml new file mode 100644 index 0000000000..8d41abade0 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/463763-2.xhtml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/476547-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/476547-1.xhtml new file mode 100644 index 0000000000..0cece35eaa --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/476547-1.xhtml @@ -0,0 +1,5 @@ + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/541620-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/541620-1.xhtml new file mode 100644 index 0000000000..ccef762e48 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/541620-1.xhtml @@ -0,0 +1,6 @@ + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/557474-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/557474-1.html new file mode 100644 index 0000000000..1bf8d534ca --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/557474-1.html @@ -0,0 +1,11 @@ + + + + Test mpadded + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/654928-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/654928-1.html new file mode 100644 index 0000000000..da52f34b45 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/654928-1.html @@ -0,0 +1,3 @@ + + AB + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/655451-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/655451-1.xhtml new file mode 100644 index 0000000000..0d5fb687b7 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/655451-1.xhtml @@ -0,0 +1,15 @@ + + + + +x + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/713606-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/713606-1.html new file mode 100644 index 0000000000..a0d4939a83 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/713606-1.html @@ -0,0 +1,24 @@ + + + + Crashtest bug 713606 + + + + + X + + Y + + + + + X + + Y + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/716349-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/716349-1.html new file mode 100644 index 0000000000..9b5895ad64 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/716349-1.html @@ -0,0 +1,13 @@ + + + + Crashtest bug 716349 + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/767251.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/767251.xhtml new file mode 100644 index 0000000000..aa3632a6ba --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/767251.xhtml @@ -0,0 +1 @@ +n diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/770710-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/770710-1.html new file mode 100644 index 0000000000..2171966769 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/770710-1.html @@ -0,0 +1,25 @@ + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/848725-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/848725-1.html new file mode 100644 index 0000000000..7ce9c434cc --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/848725-1.html @@ -0,0 +1,17 @@ + + + + Bug 848725 + + + +
    + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/848725-2.html b/testing/web-platform/tests/mathml/crashtests/mozilla/848725-2.html new file mode 100644 index 0000000000..b6362f9bf2 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/848725-2.html @@ -0,0 +1,17 @@ + + + + Bug 848725 + + + +
    + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/947557-1.html b/testing/web-platform/tests/mathml/crashtests/mozilla/947557-1.html new file mode 100644 index 0000000000..3ddfb7b984 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/947557-1.html @@ -0,0 +1,21 @@ + + + + + A + + + A + + A + A + + + A + + A + A + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mozilla/973322-1.xhtml b/testing/web-platform/tests/mathml/crashtests/mozilla/973322-1.xhtml new file mode 100644 index 0000000000..dfac127fb4 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mozilla/973322-1.xhtml @@ -0,0 +1,8 @@ + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/crashtests/mspace-mpadded-negative-dimensions.html b/testing/web-platform/tests/mathml/crashtests/mspace-mpadded-negative-dimensions.html new file mode 100644 index 0000000000..97ae5b89b8 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mspace-mpadded-negative-dimensions.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/mtd-as-multicol.html b/testing/web-platform/tests/mathml/crashtests/mtd-as-multicol.html new file mode 100644 index 0000000000..f00fa48815 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/mtd-as-multicol.html @@ -0,0 +1,9 @@ + + + +
    + diff --git a/testing/web-platform/tests/mathml/crashtests/multicol-inside-ms.html b/testing/web-platform/tests/mathml/crashtests/multicol-inside-ms.html new file mode 100644 index 0000000000..b7d481e1fb --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/multicol-inside-ms.html @@ -0,0 +1,4 @@ + + + + diff --git a/testing/web-platform/tests/mathml/crashtests/multicol-on-token-elements.html b/testing/web-platform/tests/mathml/crashtests/multicol-on-token-elements.html new file mode 100644 index 0000000000..9fc00eb691 --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/multicol-on-token-elements.html @@ -0,0 +1,11 @@ + +mi +mi +mn +mn +mo +mo +ms +ms +mtext +mtext diff --git a/testing/web-platform/tests/mathml/crashtests/operator-and-first-letter.html b/testing/web-platform/tests/mathml/crashtests/operator-and-first-letter.html new file mode 100644 index 0000000000..a4d56de72f --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/operator-and-first-letter.html @@ -0,0 +1,9 @@ + + +

    + + + +

    diff --git a/testing/web-platform/tests/mathml/crashtests/scrollbar-caching-assert.html b/testing/web-platform/tests/mathml/crashtests/scrollbar-caching-assert.html new file mode 100644 index 0000000000..3f972ef70d --- /dev/null +++ b/testing/web-platform/tests/mathml/crashtests/scrollbar-caching-assert.html @@ -0,0 +1,17 @@ + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html new file mode 100644 index 0000000000..39e6dabdfb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006-ref.html @@ -0,0 +1,74 @@ + + + + + RTL mtable and mtable with frame + + + + + +

    + + + + + É + + + p + + + X + + + + + + + + + + + Xp + + + + +

    + +

    + + + + + É + + + p + + + X + + + + + + + + + + + Xp + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006.html new file mode 100644 index 0000000000..76cdc41471 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-006.html @@ -0,0 +1,82 @@ + + + + + RTL mtable and mtable with frame + + + + + + + + + + +

    + + + + + X + + + p + + + É + + + + + Xp + + + + + + + + + + +

    + +

    + + + + + X + + + p + + + É + + + + + Xp + + + + + + + + + + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007-ref.html new file mode 100644 index 0000000000..5c77395f20 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007-ref.html @@ -0,0 +1,42 @@ + + + + + mo and embellished mrow/munderover (lspace=1em rspace=2em) + + + + + +

    + + pXp + +

    + +

    + + p + X + p + +

    + +

    + + p + + X + É + É + + p + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007.html new file mode 100644 index 0000000000..3419467ae2 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-007.html @@ -0,0 +1,53 @@ + + + + + mo and embellished mrow/munderover (lspace=1em rspace=2em) + + + + + + + + + + + + + +

    + + pXp + +

    + +

    + + p + X + p + +

    + +

    + + p + + X + É + É + + p + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008-ref.html new file mode 100644 index 0000000000..492fa9539a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008-ref.html @@ -0,0 +1,27 @@ + + + + + embellished mfrac (lspace=1em rspace=2em) + + + + + +

    + + p + + X + É + + p + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008.html new file mode 100644 index 0000000000..0be8137364 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-008.html @@ -0,0 +1,36 @@ + + + + + embellished mfrac (lspace=1em rspace=2em) + + + + + + + + + + + +

    + + p + + X + É + + p + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010-ref.html new file mode 100644 index 0000000000..4f595ed49f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010-ref.html @@ -0,0 +1,44 @@ + + + + + dir="rtl" VS direction: rtl on math/mrow/mstyle + + + + + +

    + + X + p + É + +

    + +

    + + + X + p + É + + +

    + +

    + + + X + p + É + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010.html new file mode 100644 index 0000000000..6e92dfda2a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-010.html @@ -0,0 +1,54 @@ + + + + + dir="rtl" VS direction: rtl on math/mrow/mstyle + + + + + + + + + + + + +

    + + X + p + É + +

    + +

    + + + X + p + É + + +

    + +

    + + + X + p + É + + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall-ref.html new file mode 100644 index 0000000000..5ce6c5c42b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall-ref.html @@ -0,0 +1,40 @@ + + + + + Verify dir attribute on various containers + + +

    + math: + + + + + +

    + +

    + mrow: + + + + + + + +

    + +

    + mstyle: + + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall.html new file mode 100644 index 0000000000..6effb94c54 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-overall.html @@ -0,0 +1,53 @@ + + + + + Verify dir attribute on various containers + + + + + + + + + + + + +

    + math: + + + + + +

    + +

    + mrow: + + + + + + + +

    + +

    + mstyle: + + + + + + + +

    + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token-ref.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token-ref.html new file mode 100644 index 0000000000..f1895b578a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token-ref.html @@ -0,0 +1,16 @@ + + + + + Verify dir attribute on token elements + + + +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token.html new file mode 100644 index 0000000000..58319fbfac --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction-token.html @@ -0,0 +1,28 @@ + + + + + Verify dir attribute on token elements + + + + + + + + + + +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    +

    חוק \left חסר או חוק \right מיותר

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/direction/direction.html b/testing/web-platform/tests/mathml/presentation-markup/direction/direction.html new file mode 100644 index 0000000000..dfb1671e4c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/direction/direction.html @@ -0,0 +1,39 @@ + + + + +Verify computed direction + + + + + + + + + + +

    שורשי משוואה מודגשת זו y 3 + p y + q = 0 מודגשים גם הם

    + +

    שורשי משוואה מודגשת זו y 3 + p y + q = 0 מודגשים גם הם

    + +

    שורשי משוואה מודגשת זו y 3 + p y + q = 0 מודגשים גם הם

    + +

    שורשי משוואה מודגשת זו y 3 + p y + q = 0 מודגשים גם הם

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-1.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-1.html new file mode 100644 index 0000000000..604e574322 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-1.html @@ -0,0 +1,191 @@ + + + + +Fraction + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    + + + + + + +
    +
    + + + + + + +
    +
    + + + + + + +
    +
    + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001-ref.html new file mode 100644 index 0000000000..5b7a8dff47 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001-ref.html @@ -0,0 +1,21 @@ + + + + + fractions bar + + + +

    This test passes if you see a green square.

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001.html new file mode 100644 index 0000000000..8284546e4f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-001.html @@ -0,0 +1,56 @@ + + + + + fractions bar + + + + + + + + + +

    This test passes if you see a green square.

    +
    + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002-ref.html new file mode 100644 index 0000000000..9d5eef896a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002-ref.html @@ -0,0 +1,23 @@ + + + + + fractions bar + + + +

    This test passes if you see a green square and no red.

    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002.html new file mode 100644 index 0000000000..3eb5433e82 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-002.html @@ -0,0 +1,83 @@ + + + + + fractions bar + + + + + + + + + +

    This test passes if you see a green square and no red.

    +
    +
    +
    + + + + + + + + +
    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003-ref.html new file mode 100644 index 0000000000..6bb6370d6e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003-ref.html @@ -0,0 +1,21 @@ + + + + + fractions bar (reference) + + + +

    This test passes if you see a green square.

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003.html new file mode 100644 index 0000000000..69b45ea29c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-bar-003.html @@ -0,0 +1,46 @@ + + + + + fractions bar + + + + + + + +

    This test passes if you see a green square.

    +
    + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001-notref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001-notref.html new file mode 100644 index 0000000000..498d6277a3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001-notref.html @@ -0,0 +1,16 @@ + + + + + Fraction bar color + + +

    This test passes if you see a fraction with a blue fraction bar.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001.html new file mode 100644 index 0000000000..442388a6eb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-001.html @@ -0,0 +1,20 @@ + + + + + Fraction bar color + + + + + + +

    This test passes if you see a fraction with a blue fraction bar.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002-ref.html new file mode 100644 index 0000000000..fe2f4fa7b1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002-ref.html @@ -0,0 +1,14 @@ + + + + + fractions color + + +

    This test passes if you see a green square and a blue square.

    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002.html new file mode 100644 index 0000000000..5c87212f59 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-color-002.html @@ -0,0 +1,34 @@ + + + + + fractions color + + + + + + +

    This test passes if you see a green square and a blue square.

    +
    + + + + + + + +
    +
    + + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2-ref.html new file mode 100644 index 0000000000..d389906112 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2-ref.html @@ -0,0 +1,17 @@ + + + + + mfrac created dynamically + + +

    This test passes if it renders the same as an invalid fraction with 3 children.

    + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2.html new file mode 100644 index 0000000000..8e9fa520ea --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-2.html @@ -0,0 +1,44 @@ + + + + +mfrac created dynamically + + + + + + + +

    This test passes if it renders the same as an invalid fraction with 3 children.

    + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3-ref.html new file mode 100644 index 0000000000..f8db144cfe --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3-ref.html @@ -0,0 +1,16 @@ + + + + + mfrac created dynamically + + +

    This test passes if you see a fraction 1/3.

    + + + 1 + 3 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3.html new file mode 100644 index 0000000000..1f7e23bb84 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-3.html @@ -0,0 +1,36 @@ + + + + +mfrac created dynamically + + + + + + + +

    This test passes if you see a fraction 1/3.

    + + + 1 + 2 + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-ref.html new file mode 100644 index 0000000000..e10405c572 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically-ref.html @@ -0,0 +1,16 @@ + + + + + mfrac created dynamically + + +

    This test passes if you see a fraction.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically.html new file mode 100644 index 0000000000..8f65e8d9cf --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-created-dynamically.html @@ -0,0 +1,39 @@ + + + + +mfrac created dynamically + + + + + + + +

    This test passes if you see a fraction.

    + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding-ref.html new file mode 100644 index 0000000000..93d3e0162b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding-ref.html @@ -0,0 +1,19 @@ + + + + + fraction default padding + + +

    This test passes if you see three green squares of same size, separated by a gap of one pixel.

    +
    + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding.html new file mode 100644 index 0000000000..30f155661a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-default-padding.html @@ -0,0 +1,37 @@ + + + + + fraction default padding + + + + + + +

    This test passes if you see three green squares of same size, separated by a gap of one pixel.

    +
    + + + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2-ref.html new file mode 100644 index 0000000000..d57c20901b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2-ref.html @@ -0,0 +1,15 @@ + + + + +mfrac with one child + + +

    This test passes if you see a single rectangle.

    + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2.html new file mode 100644 index 0000000000..729fe813d0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-2.html @@ -0,0 +1,18 @@ + + + + +mfrac with one child + + + + + +

    This test passes if you see a single rectangle.

    + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3-ref.html new file mode 100644 index 0000000000..703e4aeca0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3-ref.html @@ -0,0 +1,17 @@ + + + + +mfrac with three children + + +

    This test passes if you see a single rectangle.

    + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3.html new file mode 100644 index 0000000000..d56b55ef80 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-3.html @@ -0,0 +1,20 @@ + + + + +mfrac with three children + + + + + +

    This test passes if you see a single rectangle.

    + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-ref.html new file mode 100644 index 0000000000..beb3024732 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid-ref.html @@ -0,0 +1,14 @@ + + + + +mfrac with zero children + + +

    This test passes if mfrac renders nothing.

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid.html new file mode 100644 index 0000000000..78e11e7e2b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-invalid.html @@ -0,0 +1,17 @@ + + + + +mfrac with zero children + + + + + +

    This test passes if mfrac renders nothing.

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative-ref.html new file mode 100644 index 0000000000..f0b355c7bd --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative-ref.html @@ -0,0 +1,18 @@ + + + + + fractions bevelled (reference) + + +

    Test passes is you see a blue rectangle above a green rectangle, separated by a horizontal bar.

    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative.html new file mode 100644 index 0000000000..a98fc0f979 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-legacy-bevelled-attribute.tentative.html @@ -0,0 +1,28 @@ + + + + + fractions bevelled + + + + + + + +

    Test passes is you see a blue rectangle above a green rectangle, separated by a horizontal bar.

    +

    + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html new file mode 100644 index 0000000000..d4be8ea03b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html @@ -0,0 +1,42 @@ + + + + + fractions linethickness + + + +

    This test passes if you see the same fraction four times.

    + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001.html new file mode 100644 index 0000000000..918d4aba6e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-001.html @@ -0,0 +1,47 @@ + + + + + fractions linethickness + + + + + + +

    This test passes if you see the same fraction four times.

    + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-002.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-002.html new file mode 100644 index 0000000000..bb47f18687 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-002.html @@ -0,0 +1,131 @@ + + + + + fractions linethickness + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003-notref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003-notref.html new file mode 100644 index 0000000000..934d666333 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003-notref.html @@ -0,0 +1,16 @@ + + + + + fractions linethickness + + +

    This test passes if you see a fraction without fraction bar.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003.html new file mode 100644 index 0000000000..d930f058c5 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-003.html @@ -0,0 +1,19 @@ + + + + + fractions linethickness + + + + + +

    This test passes if you see a fraction without fraction bar.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004-ref.html new file mode 100644 index 0000000000..8014f0a895 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004-ref.html @@ -0,0 +1,27 @@ + + + + + fractions linethickness + + + +

    This test passes if you see no fraction bar.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004.html new file mode 100644 index 0000000000..bfb708c092 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-linethickness-004.html @@ -0,0 +1,32 @@ + + + + + fractions linethickness + + + + + + +

    This test passes if you see no fraction bar.

    + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001-ref.html new file mode 100644 index 0000000000..e42cb96fe8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001-ref.html @@ -0,0 +1,16 @@ + + + + + Fraction mrow + + +

    This test passes if you see a fraction with a blue square as numerator and a cyan square as denominator.

    + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001.html new file mode 100644 index 0000000000..82e817e4de --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-mrow-001.html @@ -0,0 +1,28 @@ + + + + + Fraction mrow + + + + + + +

    This test passes if you see a fraction with a blue square as numerator and a cyan square as denominator.

    + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html new file mode 100644 index 0000000000..09b83e9efb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html @@ -0,0 +1,75 @@ + + + + + Fraction numalign denomalign + + +

    This test passes if you see 6 fractions with numerators and + denominators horizontally centered.

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html new file mode 100644 index 0000000000..653962f33d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html @@ -0,0 +1,56 @@ + + + + + Fraction numalign denomalign + + + + + +

    This test passes if you see 6 fractions with numerators and + denominators horizontally centered.

    +

    + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-1.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-1.html new file mode 100644 index 0000000000..3c5e35159e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-1.html @@ -0,0 +1,440 @@ + + + + +Fraction parameters + + + + + + + + + + +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-2.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-2.html new file mode 100644 index 0000000000..d09ad8272c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-2.html @@ -0,0 +1,290 @@ + + + + +Stack parameters + + + + + + + + + + +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-3.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-3.html new file mode 100644 index 0000000000..ddcb9d5a69 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-3.html @@ -0,0 +1,168 @@ + + + + +Fraction/Stack parameters (fallback) + + + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + +

    +
    +

    + + + + + + + +

    +

    + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-ref.html new file mode 100644 index 0000000000..06fe8d8d35 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html new file mode 100644 index 0000000000..ee31231145 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-001.html @@ -0,0 +1,90 @@ + + + + +Fraction parameters (display gap between bar and denominator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + A + + + + B + + + + C + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-ref.html new file mode 100644 index 0000000000..30958a6a5f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html new file mode 100644 index 0000000000..bf77b2d910 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-002.html @@ -0,0 +1,90 @@ + + + + +Fraction parameters (inline gap between bar and denominator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + A + + + + B + + + + C + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-ref.html new file mode 100644 index 0000000000..70e2ec5a88 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html new file mode 100644 index 0000000000..c35c11ffdc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-003.html @@ -0,0 +1,90 @@ + + + + +Fraction parameters (display gap between bar and numerator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + A + + + + B + + + + C + + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-ref.html new file mode 100644 index 0000000000..675d33fbcc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html new file mode 100644 index 0000000000..6d567d02d9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-004.html @@ -0,0 +1,90 @@ + + + + +Fraction parameters (inline gap between bar and numerator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + A + + + + B + + + + C + + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-ref.html new file mode 100644 index 0000000000..c794a50047 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html new file mode 100644 index 0000000000..a0aa13e679 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-005.html @@ -0,0 +1,90 @@ + + + + +Stack parameters (display gap between numerator and denominator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + A + + + + B + + + + C + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-ref.html new file mode 100644 index 0000000000..02faaad19f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006-ref.html @@ -0,0 +1,63 @@ + + + + +Fraction parameters + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + + + + + + + + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html new file mode 100644 index 0000000000..1260126e55 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-parameters-gap-006.html @@ -0,0 +1,90 @@ + + + + +Stack parameters (display gap between numerator and denominator) + + + + + + + + +

    + This test passes if the blue squares are aligned: +

    +

    + + + + + + + + + + + A + + + + B + + + + C + + +

    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow-ref.html new file mode 100644 index 0000000000..71f1583fd9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow-ref.html @@ -0,0 +1,15 @@ + + + + + fraction rendering from in-flow children + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow.html new file mode 100644 index 0000000000..b57564b574 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-rendering-from-in-flow.html @@ -0,0 +1,40 @@ + + + + + fraction rendering from in-flow children + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001-ref.html new file mode 100644 index 0000000000..41a262d511 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001-ref.html @@ -0,0 +1,12 @@ + + + + + Fraction bar visibility + + +

    This test passes if you see a green square and no red.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001.html b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001.html new file mode 100644 index 0000000000..29212c0594 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/fractions/frac-visibility-001.html @@ -0,0 +1,24 @@ + + + + + Fraction bar visibility + + + + + + +

    This test passes if you see a green square and no red.

    +
    + + + + + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation-ref.html b/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation-ref.html new file mode 100644 index 0000000000..c67ac03f5d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation-ref.html @@ -0,0 +1,23 @@ + + + + + Legacy menclose radical notation (reference) + + + + + + + 123 + + + 123 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation.html b/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation.html new file mode 100644 index 0000000000..353202fd7b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/menclose/legacy-menclose-radical-notation.html @@ -0,0 +1,30 @@ + + + + + Legacy menclose radical notation + + + + + + + + + + + 123 + + + 123 + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units.html new file mode 100644 index 0000000000..6eebac1df9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/legacy-orthogonal-pseudo-units.html @@ -0,0 +1,101 @@ + + + + +Legacy mpadded pseudo-units relying on orthogonal metrics + + + + + + + + + + +
    + +

    + + + + + +

    + +

    + + + + + + + + + + + +

    + +

    + + + + + + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-001.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-001.html new file mode 100644 index 0000000000..e61dc5af72 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-001.html @@ -0,0 +1,147 @@ + + + + +mpadded + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + +

    +
    +
    + +
    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-002.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-002.html new file mode 100644 index 0000000000..93f2d594c7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-002.html @@ -0,0 +1,164 @@ + + + + +mpadded + + + + + + + + +
    +

    + + + + + + + + + + + +

    +

    + + + + + + + + + +

    +
    +
    + +
    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-003.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-003.html new file mode 100644 index 0000000000..e0c24307f4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-003.html @@ -0,0 +1,230 @@ + + + + +mpadded + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001-ref.html new file mode 100644 index 0000000000..79d7df39d0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001-ref.html @@ -0,0 +1,18 @@ + + + + + mpadded percentages (reference) + + + +

    This test passes if there is a green square with no red.

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001.html new file mode 100644 index 0000000000..ef2391c42b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-001.html @@ -0,0 +1,33 @@ + + + + + mpadded percentages + + + + + + +

    This test passes if there is a green square with no red.

    + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-002.html b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-002.html new file mode 100644 index 0000000000..36d1b4f389 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mpadded/mpadded-percentage-002.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + +
    + +

    + + + + + +

    +

    + + + + + +

    +

    + + + + + +

    +

    + + + + + +

    +

    + + + + + +

    +

    + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001-ref.html new file mode 100644 index 0000000000..2f823ba955 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001-ref.html @@ -0,0 +1,41 @@ + + + + +Dynamic mrow-like elements (reference) + + + + +
      +
    1. XpÉ
    2. +
    3. Xp
    4. +
    5. XpÉ
    6. +
    7. Xp
    8. +
    9. XpÉ
    10. +
    11. Xp
    12. +
    13. XpÉ
    14. +
    15. Xp
    16. +
    17. XpÉ
    18. +
    19. Xp
    20. +
    21. XpÉ
    22. +
    23. Xp
    24. +
    25. XpÉ
    26. +
    27. Xp
    28. +
    29. XpÉ
    30. +
    31. Xp
    32. +
    33. XpÉ
    34. +
    35. Xp
    36. +
    37. XpÉ
    38. +
    39. Xp
    40. +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001.html new file mode 100644 index 0000000000..79de59feec --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/dynamic-mrow-like-001.html @@ -0,0 +1,72 @@ + + + + +Dynamic mrow-like elements + + + + + + + + + +
      +
    1. +
    2. XpÉ
    3. +
    4. +
    5. XpÉ
    6. +
    7. +
    8. XpÉ
    9. +
    10. +
    11. XpÉ
    12. +
    13. +
    14. XpÉ
    15. +
    16. +
    17. XpÉ
    18. +
    19. +
    20. XpÉ
    21. +
    22. +
    23. XpÉ
    24. +
    25. +
    26. XpÉ
    27. +
    28. +
    29. XpÉ
    30. +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html new file mode 100644 index 0000000000..0086646859 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-baseline.html @@ -0,0 +1,57 @@ + + + + +Baseline of inferred mrows + + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html new file mode 100644 index 0000000000..614438deb3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/inferred-mrow-stretchy.html @@ -0,0 +1,64 @@ + + + + +Stretchy in inferred mrows + + + + + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001-ref.html new file mode 100644 index 0000000000..00c781b6e4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001-ref.html @@ -0,0 +1,24 @@ + + + + + mfenced element + + +

    Test passes if you see 6 green squares and no red.

    +

    + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001.html new file mode 100644 index 0000000000..d39ff45f62 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mfenced-element-001.html @@ -0,0 +1,34 @@ + + + + + mfenced element + + + + + + + + +

    Test passes if you see 6 green squares and no red.

    +

    + + + + + + + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-001.html new file mode 100644 index 0000000000..277529d829 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-001.html @@ -0,0 +1,188 @@ + + + + +Legacy maction and semantics elements + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + +

    +

    + + + + ANNOTATION + ANNOTATION-XML + + + + + + ANNOTATION + ANNOTATION-XML + + +

    +

    + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + +

    +

    + + + + MESSAGE + + + + + + MESSAGE + + +

    +

    + + + + MESSAGE + + + + + + MESSAGE + + +

    +

    + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002-ref.html new file mode 100644 index 0000000000..4fd4b225f3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002-ref.html @@ -0,0 +1,44 @@ + + + + +Legacy maction and semantics elements (reference) + + +

    This test passes if you see 4 green squares and no red.

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + +

    +

    + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002.html new file mode 100644 index 0000000000..99a5721bce --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mrow-like-elements-002.html @@ -0,0 +1,57 @@ + + + + +Legacy maction and semantics elements + + + + + + + + +

    This test passes if you see 4 green squares and no red.

    +

    + + + + + + + + + +

    +

    + + + + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html new file mode 100644 index 0000000000..2463c40476 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/legacy-mstyle-attributes.html @@ -0,0 +1,164 @@ + + + + +Legacy mstyle attributes + + + + + + + + + + + + + + + +
    + +

    + + + + + + + + + + +

    +

    + + + + 1 + 2 + + + + + + + 1 + 2 + + + +

    +

    + + + 1 + A + 2 + + + + + 3 + + + + + 4 + + + + + + | + + + + + + | + 4 + + + + + + 1 + A + 2 + + + + + 3 + + + + + 4 + + + + + + | + + + + + + | + 4 + + + +

    + +

    + + + 1 + + + + + 1 + + +

    +

    + + + 1 + + + + + 1 + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/merror-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/merror-001.html new file mode 100644 index 0000000000..a9a021c2e9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/merror-001.html @@ -0,0 +1,43 @@ + + + + +Test the merror element + + + + + + + + + +
    +
    + + AN ERROR + AN ERROR + +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-fallback.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-fallback.html new file mode 100644 index 0000000000..3f9d466148 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-fallback.html @@ -0,0 +1,125 @@ + + + + +Test mrow fallback for some MathML elements + + + + + + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order-ref.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order-ref.html new file mode 100644 index 0000000000..72694959a8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order-ref.html @@ -0,0 +1,83 @@ + + + + + mrow painting order (reference) + + + + +

    This test passes if there is no red and content is stacked such that

    +
      +
    • foreground (dark colors) is above background (light colors)
    • +
    • yellow foreground is above green foreground which is itself above blue foreground
    • +
    • yellow background is above green background which is itself above blue background
    • +
    + +
    + + + + + +
    + +
    + + + + p XXÉ + + +
    + +
    + + + + + p X + + +
    + +
    + + + XXÉ + + +
    + +
    + + + + p XXÉ + + +
    + +
    + + + + + p X + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order.html new file mode 100644 index 0000000000..516359a545 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-painting-order.html @@ -0,0 +1,42 @@ + + + + + mrow painting order + + + + + + + + + +

    This test passes if there is no red and content is stacked such that

    +
      +
    • foreground (dark colors) is above background (light colors)
    • +
    • yellow foreground is above green foreground which is itself above blue foreground
    • +
    • yellow background is above green background which is itself above blue background
    • +
    +
    + + + XXÉ + X + p XXÉ + X + p X + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-preferred-width.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-preferred-width.html new file mode 100644 index 0000000000..8f0e3216c1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/mrow-preferred-width.html @@ -0,0 +1,121 @@ + + + + +Preferred width of mrow-like elements + + + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + blah|2 +
    +
    +
    +
    + blah|2 +
    +
    +
    +
    + blah|2 +
    +
    +
    +
    + blah|2 +
    +
    +
    +
    + blah|2 +
    +
    +
    +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/no-spacing.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/no-spacing.html new file mode 100644 index 0000000000..a2e7eb7d8d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/no-spacing.html @@ -0,0 +1,139 @@ + + + + +No spacing in elements + + + + + + + + + + + + + + + + + + +
    +

    + + + X + X + + +

    +

    + + + X + X + + +

    +

    + + + X + X + + +

    +

    + + + X + X + X + + +

    +

    + + + X + X + X + + X + X + + +

    +

    + + + X + X + + +

    +

    + + + X + X + + +

    +

    + + + X + X + X + + +

    +

    + + + X + X + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/spacing.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/spacing.html new file mode 100644 index 0000000000..c066f72cde --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/spacing.html @@ -0,0 +1,54 @@ + + + + +Spacing in mrows + + + + + + + + + + + + + + + + + +
    +

    + 1|2 + 1|2 + 1|2 + 12 + 1|2 + 1|2 + + 1|2 + 1|2 + 1|2 + 1|2 +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/mrow/stretch-along-block-axis-001.html b/testing/web-platform/tests/mathml/presentation-markup/mrow/stretch-along-block-axis-001.html new file mode 100644 index 0000000000..31385f5388 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/mrow/stretch-along-block-axis-001.html @@ -0,0 +1,176 @@ + + + + +Stretching operators along the block axis + + + + + + + + + + +
    +

    + + + + + + + + + +

    +

    + + + + + + + + +

    +

    + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001-crash.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001-crash.html new file mode 100644 index 0000000000..15e9a0367c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001-crash.html @@ -0,0 +1,10 @@ + + + + A + + + + A + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001.html new file mode 100644 index 0000000000..b8e2cefc1c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-001.html @@ -0,0 +1,521 @@ + + + + +Embellished operators + + + + + + + + + + + + + +
    + +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + +

    + + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-002.html new file mode 100644 index 0000000000..7ab05441c3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-002.html @@ -0,0 +1,559 @@ + + + + +Embellished operators + + + + + + + + + + + + + +
    + +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    + + +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + X + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + + +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    + + +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + X + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-003.html new file mode 100644 index 0000000000..7b36665787 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-003.html @@ -0,0 +1,394 @@ + + + + +Embellished operators + + + + + + + + + + + + + +
    + +

    + + X + + X + STATUS MESSAGE + + X + +

    +

    + + X + + X + TEXT ANNOTATION + X + + X + +

    + + +

    + + 012 + X + 012 + + X + 012 + STATUS MESSAGE + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + X + 012 + TEXT ANNOTATION + 012 + X + 012 + + 012 + X + 012 + +

    + + +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + X + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + STATUS MESSAGE + + X + +

    +

    + + X + + + X + X + + TEXT ANNOTATION + + X + +

    + + +

    + + 012 + X + 012 + + X + 012 + STATUS MESSAGE + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + + 012 + X + 012 + X + 012 + + 012 + TEXT ANNOTATION + 012 + + 012 + X + 012 + +

    + + +

    + + X + + + X + +

    +

    + + X + + + X + +

    + + +

    + + X + + X + + X + +

    +

    + + X + + X + + X + +

    + + +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001-ref.html new file mode 100644 index 0000000000..b37ce125a7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001-ref.html @@ -0,0 +1,95 @@ + + + + +Embellished operators - tree change and relayout (reference) + + + + +

    There should be the five 1em squares on the same line, with colors + black, orange, blue, orange, black:

    + + + 1 + + + + X + + + + + 2 + + + +

    There should be the five 1em squares on the same line, with colors + black, yellow, blue, yellow, black:

    + + + 3 + + + + X + + + + 4 + + + +

    There should be the five 1em squares on the same line, with colors + black, orange, blue, orange, black:

    + + + 5 + + + + X + + + + + + + + + 6 + + + +

    There should be the five 1em squares on the same line, with colors + black, yellow, blue, yellow, black:

    + + + 7 + + + + X + + + + + + + + 8 + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001.html new file mode 100644 index 0000000000..09a7fe412a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-001.html @@ -0,0 +1,123 @@ + + + + +Embellished operators - tree change and relayout + + + + + + + + + + +

    There should be the five 1em squares on the same line, with colors + black, orange, blue, orange, black:

    + + + 1 + + + + X + + + + 2 + + + +

    There should be the five 1em squares on the same line, with colors + black, yellow, blue, yellow, black:

    + + + 3 + + + + X + + + + + 4 + + + +

    There should be the five 1em squares on the same line, with colors + black, orange, blue, orange, black:

    + + + 5 + + + + X + + + + + + + + 6 + + + +

    There should be the five 1em squares on the same line, with colors + black, yellow, blue, yellow, black:

    + + + 7 + + + + X + + + + + + + + + 8 + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-002.html new file mode 100644 index 0000000000..2c52684765 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/embellished-operator-dynamic-002.html @@ -0,0 +1,185 @@ + + + + +Embellished operators - tree change and relayout + + + + + + + + + + + + + + +
    + +
    + + + 1 + + + + + + + + 2 + + +
    + +
    + + + 3 + + + + + + + + + 4 + + +
    + +
    + + + 5 + + + + + + + + + + + + + + 6 + + +
    + +
    + + + 7 + + + + + + + + + + + + + + + 8 + + +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/largeop-hit-testing.html b/testing/web-platform/tests/mathml/presentation-markup/operators/largeop-hit-testing.html new file mode 100644 index 0000000000..2b81eb692a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/largeop-hit-testing.html @@ -0,0 +1,64 @@ + + + + +Test hit testing on large operators + + + + + + + + + + + + + + + ⫿ + + + + + ⫿ + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-axis-height-1.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-axis-height-1.html new file mode 100644 index 0000000000..6de6284188 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-axis-height-1.html @@ -0,0 +1,75 @@ + + + + +mo axis height + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html new file mode 100644 index 0000000000..209e59ee33 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-font-relative-lengths-001.html @@ -0,0 +1,114 @@ + + + + +Font-relative lengths on an operator + + + + + + + + + + + + + +

    +

    + + + + + + + + + + +

    +

    + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html new file mode 100644 index 0000000000..be7f5aa173 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html @@ -0,0 +1,48 @@ + + + + + <mo> dynamic form + + + + +

    + + 1+2 + +

    +

    + + +3 + +

    +

    + + 1+2 + +

    +

    + + +3 + +

    +

    + + 1+2 + +

    +

    + + +3 + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html new file mode 100644 index 0000000000..862fc36a20 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html @@ -0,0 +1,66 @@ + + + + + <mo> dynamic form + + + + + + + + + +

    + + 1+2 + +

    +

    + + +3 + +

    +

    + + 1+2 + +

    +

    + + +3 + +

    +

    + + 1+2 + +

    +

    + + +3 + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-ref.html new file mode 100644 index 0000000000..8f8d3da2c3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic-ref.html @@ -0,0 +1,26 @@ + + + + + <mo> dynamic form + + + +

    The test should render the same as the static reference.

    + + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + + _y_ + _y_ + _y_ + _y_ + _y_ + _y_ + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic.html new file mode 100644 index 0000000000..cec203f517 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-dynamic.html @@ -0,0 +1,51 @@ + + + + + <mo> dynamic form + + + + + + + + + +

    The test should render the same as the static reference.

    + + _+y_ + _+y_ + _+y_ + _+y_ + _+y_ + _+y_ + + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback-ref.html new file mode 100644 index 0000000000..8d964eba45 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback-ref.html @@ -0,0 +1,15 @@ + + + + + form fallback + + + + + ( ) + ( ) + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback.html new file mode 100644 index 0000000000..b49db9d9ff --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-fallback.html @@ -0,0 +1,28 @@ + + + + + form fallback + + + + + + + + + + ( ) + ( ) + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus-ref.html new file mode 100644 index 0000000000..b46b307dbe --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus-ref.html @@ -0,0 +1,84 @@ + + + + + form plus/minus + + + + + + _x_ + _x_ + _x_ + _x_ + _x_ + _x_ + +
    + + _+x_ + _+x_ + _+x_ + _+x_ + _+x_ + _+x_ + +
    + + _±x_ + _±x_ + _±x_ + _±x_ + _±x_ + _±x_ + +
    + + _x_ + _x_ + _x_ + _x_ + _x_ + _x_ + +
    + + + + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + +
    + + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + +
    + + _x±y_ + _x±y_ + _x±y_ + _x±y_ + _x±y_ + _x±y_ + +
    + + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus.html new file mode 100644 index 0000000000..eb7dbbce2a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-minus-plus.html @@ -0,0 +1,89 @@ + + + + + form plus/minus + + + + + + + + + _x_ + _x_ + _x_ + _x_ + _x_ + _x_ + +
    + + _+x_ + _+x_ + _+x_ + _+x_ + _+x_ + _+x_ + +
    + + _±x_ + _±x_ + _±x_ + _±x_ + _±x_ + _±x_ + +
    + + _x_ + _x_ + _x_ + _x_ + _x_ + _x_ + +
    + + + + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + +
    + + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + _x+y_ + +
    + + _x±y_ + _x±y_ + _x±y_ + _x±y_ + _x±y_ + _x±y_ + +
    + + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + _xy_ + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-ref.html new file mode 100644 index 0000000000..b249fe43b5 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form-ref.html @@ -0,0 +1,25 @@ + + + + + <mo> form attribute + + + + + __ + __ + __ + + + __ + __ + __ + + + __ + __ + __ + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form.html new file mode 100644 index 0000000000..38cbd6bb4b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-form.html @@ -0,0 +1,30 @@ + + + + + <mo> form attribute + + + + + + + + __ + __ + __ + + + __ + __ + __ + + + __ + __ + __ + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2-ref.html new file mode 100644 index 0000000000..4ffe6cbc23 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2-ref.html @@ -0,0 +1,363 @@ + + + + mo-lspace-rspace-2 (reference) + + + + +

    + + + * + + + + + * + * + + + + + * + + + + + * + * + + + + + * + + +

    + +

    + + + + +
    + + + * + + +
    +

    + +

    + + + * + + + + + * + * + + + + + * + * + + + + + * + * + * + + + + + * + * + + + + + * + * + + + + + * + * + * + + +

    + +

    + + + * + * + * + + * + * + + + + + + + * + + + + + + * + + + + + * + + * + + +

    + +

    + + + + * + * + + * + + + + + + * + * + + * + + + + + + * + * + + * + + +

    + +

    + + + * + + + * + + + * + * + + + + + * + + + + + * + + +

    + + + * + + +

    + + + * + + + * + * + + + * + + + * + + +

    + +

    + + + + +
    + + + * + * + + +
    +

    + +

    + + + * + * + + + * + * + + + * + * + + + * + * + * + + + * + * + + + * + * + + + * + * + * + + +

    + +

    + + + * + * + * + + * + * + + + + + * + * + + + + * + + + * + + * + + + + * + * + + * + + +

    + +

    + + + + * + * + + * + + + + * + * + + * + + + + * + * + + * + + +

    + +

    + + + * + * + + * + + + + + + * + * + + + + + * + * + + +

    + + + * + * + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2.html new file mode 100644 index 0000000000..d54f45c21d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-2.html @@ -0,0 +1,363 @@ + + + + mo-lspace-rspace-2 + + + + + +

    + + + * + + + + + * + * + + + + + * + + + + + * + * + + + + + * + + +

    + +

    + + + + +
    + + + * + + +
    +

    + +

    + + + * + + + + + * + * + + + + + * + * + + + + + * + * + * + + + + + * + * + + + + + * + * + + + + + * + * + * + + +

    + +

    + + + * + * + * + + * + * + + + + + + + * + + + + + + * + + + + + * + + * + + +

    + +

    + + + + * + * + + * + + + + + + * + * + + * + + + + + + * + * + + * + + +

    +

    + + + * + + + * + + + * + * + + + + + * + + + + + * + + +

    + + + * + + +

    + + + * + + + * + * + + + * + + + * + + +

    + +

    + + + + +
    + + + * + * + + +
    +

    + +

    + + + * + * + + + * + * + + + * + * + + + * + * + * + + + * + * + + + * + * + + + * + * + * + + +

    + +

    + + + * + * + * + + * + * + + + + + * + * + + + + * + + + * + + * + + + + * + * + + * + + +

    + +

    + + + + * + * + + * + + + + * + * + + * + + + + * + * + + * + + +

    + +

    + + + * + * + + * + + + + + + * + * + + + + + * + * + + +

    + + + * + * + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3-ref.html new file mode 100644 index 0000000000..1830e11474 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3-ref.html @@ -0,0 +1,41 @@ + + + + mo-lspace-rspace-3 (reference) + + +

    + + * + +

    +

    + + * + +

    +

    + + * + * + +

    +

    + + * + * + +

    +

    + + * + * + +

    +

    + + * + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3.html new file mode 100644 index 0000000000..4574ff39c9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-3.html @@ -0,0 +1,61 @@ + + + + mo-lspace-rspace-3 + + + +

    + + * + +

    +

    + + * + +

    +

    + + * + * + +

    +

    + + * + * + +

    +

    + + * + +

    +

    + + * + * + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4-ref.html new file mode 100644 index 0000000000..ab4c08dde1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4-ref.html @@ -0,0 +1,20 @@ + + + + mo-lspace-rspace-4 (reference) + + +

    + + _ + + + _ + _ + + + _ + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4.html new file mode 100644 index 0000000000..4798454868 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-4.html @@ -0,0 +1,19 @@ + + + + mo-lspace-rspace-4 + + + +

    + + _ + + _ + _ + + _ + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html new file mode 100644 index 0000000000..85cabd287d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html @@ -0,0 +1,48 @@ + + + + + <mo> dynamic lspace rspace (reference) + + + + +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html new file mode 100644 index 0000000000..70098bebf9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html @@ -0,0 +1,64 @@ + + + + + <mo> dynamic lspace rspace + + + + + + + + +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    +

    + + 1X2 + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-ref.html new file mode 100644 index 0000000000..46be5079e6 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace-ref.html @@ -0,0 +1,41 @@ + + + + mo-lspace-rspace (reference) + + + + +

    + + + _ + + MO + + _ + +

    + +

    + + + _ + + + + _ + +

    + +

    + + + _ + + _ + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace.html new file mode 100644 index 0000000000..5774e4ced0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-lspace-rspace.html @@ -0,0 +1,38 @@ + + + + mo-lspace-rspace + + + + + +

    + + + _ + MO + _ + +

    + +

    + + + _ + + _ + +

    + +

    + + + _ + + _ + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html new file mode 100644 index 0000000000..3e7e5c9bcc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-minsize-maxsize-001.html @@ -0,0 +1,143 @@ + + + + +Edge cases for minsize and maxsize + + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator-ref.html new file mode 100644 index 0000000000..cca8b9b697 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator-ref.html @@ -0,0 +1,33 @@ + + + + + <mo> movablelimits and embellished operator (reference) + + + + + + + A + 2 + + + A + 2 + + + + + A + 2 + + + A + 2 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator.html new file mode 100644 index 0000000000..2bdfa15bc6 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-and-embellished-operator.html @@ -0,0 +1,39 @@ + + + + + <mo> movablelimits and embellished operator (reference) + + + + + + + + + + + A + 2 + + + A + 2 + + + + + A + 2 + + + A + 2 + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default-ref.html new file mode 100644 index 0000000000..8328637397 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default-ref.html @@ -0,0 +1,18 @@ + + + + mo movablelimits default value + + + + + + x + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default.html new file mode 100644 index 0000000000..4d6ee00d82 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-default.html @@ -0,0 +1,24 @@ + + + + + <mo> movablelimits default value + + + + + + + + + x + + + + x + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic-ref.html new file mode 100644 index 0000000000..ee5bce2ca8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic-ref.html @@ -0,0 +1,15 @@ + + + + + Test dynamically removing movablelimits attribute + + + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic.html new file mode 100644 index 0000000000..647fc52321 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-dynamic.html @@ -0,0 +1,27 @@ + + + + + Test dynamically removing movablelimits attribute + + + + + + + + + + + x + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow-ref.html new file mode 100644 index 0000000000..3efeaa0dfe --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow-ref.html @@ -0,0 +1,30 @@ + + + + + <mo> movablelimits + + + + + + + + + 1 + + + + + 1 + + + + + 1 + 2 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow.html new file mode 100644 index 0000000000..d1a2422c98 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-from-in-flow.html @@ -0,0 +1,53 @@ + + + + + <mo> movablelimits + + + + + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + 2 + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-ref.html new file mode 100644 index 0000000000..cb868d2400 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits-ref.html @@ -0,0 +1,29 @@ + + + + + <mo> movablelimits + + + + + A + B + + + A + B + + + + + A + B + + + A + B + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits.html new file mode 100644 index 0000000000..e7aa17380b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-movablelimits.html @@ -0,0 +1,34 @@ + + + + + <mo> movablelimits + + + + + + + + A + B + + + A + B + + + + + A + B + + + A + B + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace-ref.html new file mode 100644 index 0000000000..3938db19a7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace-ref.html @@ -0,0 +1,47 @@ + + + + + lspace/rspace default value for unknown operators (reference) + + + + +

    This test passes if on each row, the space around the blue rectangle + is 0.2777777777777778em.

    +

    + + + p + X + p + + +

    +

    + + + p + XX + p + + +

    +

    + + + p + X + p + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace.html new file mode 100644 index 0000000000..e6b5b172c3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-lspace-rspace.html @@ -0,0 +1,52 @@ + + + + + lspace/rspace default value for unknown operators + + + + + + + +

    This test passes if on each row, the space around the blue rectangle + is 0.2777777777777778em.

    +

    + + + p + X + p + + +

    +

    + + + p + XX + p + + +

    +

    + + + p + X + p + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits-ref.html new file mode 100644 index 0000000000..e7ffc78994 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits-ref.html @@ -0,0 +1,47 @@ + + + + + movablelimits default value for unknown operators (reference) + + + + +

    This test passes if the black scripts are attached above and below + the corresponding blue base.

    +

    + + + X + X + X + + +

    +

    + + + XX + X + X + + +

    +

    + + + X + X + X + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits.html new file mode 100644 index 0000000000..8a96e31953 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-not-in-dictionary-movablelimits.html @@ -0,0 +1,52 @@ + + + + + movablelimits default value for unknown operators + + + + + + + +

    This test passes if the black scripts are attached above and below + the corresponding blue base.

    +

    + + + X + X + X + + +

    +

    + + + XX + X + X + + +

    +

    + + + X + X + X + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace-ref.html new file mode 100644 index 0000000000..da0b79ff9a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace-ref.html @@ -0,0 +1,78 @@ + + + + <mo> paint lspace rspace + + + +

    LTR case

    + +

    The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the left, + and a trailing space of 200px, which is as wide as the black block to the right.

    + + + + + + + + + +

    The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the left, + and a trailing space of 150px, which is as wide as the black block to the right.

    + + + + + + + + + +

    The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the left, + and a trailing space of 100px, which is as wide as the black block to the right.

    + + + + + + + + + +

    RTL case

    + +

    The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the right, + and a trailing space of 200px, which is as wide as the black block to the left.

    + + + + + + + + + +

    The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the right, + and a trailing space of 150px, which is as wide as the black block to the left.

    + + + + + + + + + +

    The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the right, + and a trailing space of 100px, which is as wide as the black block to the left.

    + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace.html new file mode 100644 index 0000000000..a3a3ed501e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-paint-lspace-rspace.html @@ -0,0 +1,71 @@ + + + + + <mo> paint lspace rspace + + + + + +

    LTR case

    + +

    The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the left, + and a trailing space of 200px, which is as wide as the black block to the right.

    + + + + + + + +

    The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the left, + and a trailing space of 150px, which is as wide as the black block to the right.

    + + + + + + + +

    The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the left, + and a trailing space of 100px, which is as wide as the black block to the right.

    + + + + + + + +

    RTL case

    + +

    The test passes if the arrow has a leading space of 100px, which is as wide as the black block to the right, + and a trailing space of 200px, which is as wide as the black block to the left.

    + + + + + + + +

    The test passes if the arrow has a leading space of 150px, which is as wide as the black block to the right, + and a trailing space of 150px, which is as wide as the black block to the left.

    + + + + + + + +

    The test passes if the arrow has a leading space of 200px, which is as wide as the black block to the right, + and a trailing space of 100px, which is as wide as the black block to the left.

    + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children-ref.html new file mode 100644 index 0000000000..6b4ccc775c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children-ref.html @@ -0,0 +1,30 @@ + + + + + <mo> with a single character and children (reference) + + + + +

    There should be 5/18em horizontal gaps around the middle rectangles:

    +

    pXp

    +

    pXp

    +

    pXp

    +

    pXp

    +

    pXXp

    + +

    There should be no horizontal gap around the middle rectangles:

    + +

    pXp

    +

    pXp

    +

    pXp

    + +

    There should be 4/18em horizontal gaps around the middle rectangles:

    +

    pXXp

    +

    pXXp

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children.html new file mode 100644 index 0000000000..a911c44411 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-single-char-and-children.html @@ -0,0 +1,51 @@ + + + + + <mo> with a single character and children + + + + + + + +

    There should be 5/18em horizontal gaps around the middle rectangles:

    +

    p(p

    +

    p(p

    +

    p(p

    +

    p(p

    +

    p=p

    + +

    There should be no horizontal gap around the middle rectangles:

    + +

    p(p

    +

    p(p

    +

    p(p

    + +

    There should be 4/18em horizontal gaps around the middle rectangles:

    +

    p&&p

    +

    p&p

    + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-001.html new file mode 100644 index 0000000000..f734253930 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-001.html @@ -0,0 +1,68 @@ + + + + +Stretch properties + + + + + + + + + + +
    +

    + + + + | + | + + | + | + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html new file mode 100644 index 0000000000..5d447aa1d2 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html @@ -0,0 +1,154 @@ + + + + +Dynamic stretch properties + + + + + + + + + + +
    +

    + + + + + + + + + +

    +

    + + + + + + + + + +

    +

    + + + + + + + + + + + +

    +

    + + + + + + + + +

    +

    + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1-notref.html new file mode 100644 index 0000000000..5650be1936 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1-notref.html @@ -0,0 +1,15 @@ + + + + op-dict mo form + + + + + + + + 1 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1.html new file mode 100644 index 0000000000..cdfcca4a57 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-1.html @@ -0,0 +1,15 @@ + + + + op-dict mo form + + + + + + + + 1 + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12-ref.html new file mode 100644 index 0000000000..3365b47d39 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12-ref.html @@ -0,0 +1,14 @@ + + + + op-dict mo movablelimits + + + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12.html new file mode 100644 index 0000000000..7d75c4c174 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-12.html @@ -0,0 +1,15 @@ + + + + op-dict mo movablelimits + + + + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13-notref.html new file mode 100644 index 0000000000..e9e7614836 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13-notref.html @@ -0,0 +1,14 @@ + + + + op-dict mo movablelimits + + + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13.html new file mode 100644 index 0000000000..1b7c6bf38f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-13.html @@ -0,0 +1,15 @@ + + + + op-dict mo movablelimits + + + + + + + x + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2-ref.html new file mode 100644 index 0000000000..9c910f8411 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2-ref.html @@ -0,0 +1,14 @@ + + + + op-dict symmetric + + + + + ( + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2.html new file mode 100644 index 0000000000..0a26fcae78 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-2.html @@ -0,0 +1,15 @@ + + + + op-dict symmetric + + + + + + ( + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3-notref.html new file mode 100644 index 0000000000..9c910f8411 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3-notref.html @@ -0,0 +1,14 @@ + + + + op-dict symmetric + + + + + ( + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3.html new file mode 100644 index 0000000000..bf54ef8582 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-3.html @@ -0,0 +1,15 @@ + + + + op-dict symmetric + + + + + + ( + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4-ref.html new file mode 100644 index 0000000000..a501e45c8c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4-ref.html @@ -0,0 +1,18 @@ + + + + op-dict stretchy + + + + + ( + + a + b + + ) + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4.html new file mode 100644 index 0000000000..f847890aa7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-4.html @@ -0,0 +1,19 @@ + + + + op-dict stretchy + + + + + + ( + + a + b + + ) + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5-notref.html new file mode 100644 index 0000000000..7ab29e3769 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5-notref.html @@ -0,0 +1,18 @@ + + + + op-dict stretchy + + + + + ( + + a + b + + ) + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5.html new file mode 100644 index 0000000000..8c8260d4cd --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-5.html @@ -0,0 +1,19 @@ + + + + op-dict stretchy + + + + + + ( + + a + b + + ) + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6-ref.html new file mode 100644 index 0000000000..cb642c4928 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6-ref.html @@ -0,0 +1,13 @@ + + + + op-dict largeop + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6.html new file mode 100644 index 0000000000..6be4cc90a7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-6.html @@ -0,0 +1,14 @@ + + + + op-dict largeop + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7-notref.html new file mode 100644 index 0000000000..78dd195558 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7-notref.html @@ -0,0 +1,13 @@ + + + + op-dict largeop + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7.html new file mode 100644 index 0000000000..04496eb4f3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-7.html @@ -0,0 +1,14 @@ + + + + op-dict largeop + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8-ref.html new file mode 100644 index 0000000000..b51ce01f36 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8-ref.html @@ -0,0 +1,13 @@ + + + + op-dict lspace and rspace + + + + + xy + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8.html new file mode 100644 index 0000000000..0f9b81900e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-8.html @@ -0,0 +1,14 @@ + + + + op-dict lspace and rspace + + + + + + xy + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9-notref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9-notref.html new file mode 100644 index 0000000000..b976536fac --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9-notref.html @@ -0,0 +1,15 @@ + + + + op-dict lspace and rspace + + + + + + xy + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9.html b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9.html new file mode 100644 index 0000000000..1e833e31a0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/op-dict-9.html @@ -0,0 +1,14 @@ + + + + op-dict lspace and rspace + + + + + + xy + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001-ref.html new file mode 100644 index 0000000000..88e0f5f736 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001-ref.html @@ -0,0 +1,20 @@ + + + + + Spacing of Arabic operators (reference) + + + + + +

    There should be no horizontal gaps between the squares:

    +

    _𞻰_

    +

    _𞻱_

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001.html new file mode 100644 index 0000000000..05d2714af5 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-001.html @@ -0,0 +1,28 @@ + + + + + Spacing of Arabic operators + + + + + + + + + +

    There should be no horizontal gaps between the squares:

    +

    _𞻰_

    +

    _𞻱_

    + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002-ref.html new file mode 100644 index 0000000000..f72fdc8403 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002-ref.html @@ -0,0 +1,30 @@ + + + + + Stretching of Arabic operators (reference) + + + + +

    You should see two rectangles of width 3em and height 1em:

    + +

    + + + _ + + + +

    +

    + + + _ + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002.html new file mode 100644 index 0000000000..d116e1778d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-arabic-002.html @@ -0,0 +1,39 @@ + + + + + Stretching of Arabic operators + + + + + + + + +

    You should see two rectangles of width 3em and height 1em:

    + +

    + + + 𞻰 + + + +

    +

    + + + 𞻱 + + + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-combining.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-combining.html new file mode 100644 index 0000000000..8c891a2a25 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-combining.html @@ -0,0 +1,159 @@ + + + + +Operator dictionary (combining char) + + + + + + + + + + + + + + +
    +
    +

    + +   + = +   + +

    +

    + +   + +   + +

    +

    + +   + =⃒ +   + +

    +
    +
    +

    + +   + | +   + +

    +

    + +   + +   + +

    +

    + +   + |⃒ +   + +

    +
    +
    +

    + +   + +   + +

    +

    + +   + ⋉̸ +   + +

    +

    + +   + ⋉⃒ +   + +

    +
    +
    +

    + +   + +   + +

    +

    + +   + ∄ +   + +

    +

    + +   + ∃⃒ +   + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars-ref.html new file mode 100644 index 0000000000..2cbed12940 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars-ref.html @@ -0,0 +1,32 @@ + + + + + Spacing of empty and three-char operators (reference) + + + + + +

    ___

    + +

    The spacing after the blue squares and before the yellow squares should be the same as the above reference:

    + +

    __

    +

    _..._

    +

    _lim_ +

    _max_ +

    _min_ +

    _|||_ + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars.html new file mode 100644 index 0000000000..231041c17f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-empty-and-three-chars.html @@ -0,0 +1,39 @@ + + + + + Spacing of empty and three-char operators + + + + + + + + + +

    ___

    + +

    The spacing after the blue squares and before the yellow squares should be the same as the above reference:

    + +

    __

    +

    _..._

    +

    _lim_ +

    _max_ +

    _min_ +

    _|||_ + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html new file mode 100644 index 0000000000..457deb3422 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-001.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html new file mode 100644 index 0000000000..5f132ac3b2 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-002.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html new file mode 100644 index 0000000000..cb1b1e6b9b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-003.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html new file mode 100644 index 0000000000..19a6f9b2f1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html new file mode 100644 index 0000000000..fd04712693 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-005.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html new file mode 100644 index 0000000000..77d23f60f7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html new file mode 100644 index 0000000000..0a21e277b4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-001.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html new file mode 100644 index 0000000000..2d7dc414a0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-002.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html new file mode 100644 index 0000000000..e166d7ffbb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-003.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html new file mode 100644 index 0000000000..d5dd12b383 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html new file mode 100644 index 0000000000..d8e96e17a6 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-005.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html new file mode 100644 index 0000000000..a6ddeb92ff --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html new file mode 100644 index 0000000000..6839b183be --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-001.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html new file mode 100644 index 0000000000..84113a9ac8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-002.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html new file mode 100644 index 0000000000..387f61922d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-003.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html new file mode 100644 index 0000000000..b27024c2d3 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-004.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html new file mode 100644 index 0000000000..7acf5ab20e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-005.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html new file mode 100644 index 0000000000..928182cbe6 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-spacing-006.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html new file mode 100644 index 0000000000..beebe77ed7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html new file mode 100644 index 0000000000..2cdf0114db --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html new file mode 100644 index 0000000000..4f0f0b3641 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html new file mode 100644 index 0000000000..08428b8928 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html new file mode 100644 index 0000000000..94fe507755 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html new file mode 100644 index 0000000000..c4d5e44d43 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html new file mode 100644 index 0000000000..c1154cebf5 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html new file mode 100644 index 0000000000..3cb4b07a55 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html new file mode 100644 index 0000000000..7588df48f8 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html new file mode 100644 index 0000000000..f7d8bdc89d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html new file mode 100644 index 0000000000..9303b9a482 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html new file mode 100644 index 0000000000..90a812786a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006.html @@ -0,0 +1,33 @@ + + + + +Operator dictionary + + + + + + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001-ref.html new file mode 100644 index 0000000000..0c7642a20a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001-ref.html @@ -0,0 +1,22 @@ + + + + +Painting of vertical assembly (reference) + + +

    This test passes if you see a green rectangle and no red.

    +
    +
    + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001.html b/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001.html new file mode 100644 index 0000000000..2a9578badc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/painting-stretchy-operator-001.html @@ -0,0 +1,73 @@ + + + + +Painting of vertical assembly + + + + + + + + +

    This test passes if you see a green rectangle and no red.

    +
    + + + + + + + + + + +
    + diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.css b/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.css new file mode 100644 index 0000000000..4f80ad7f8d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.css @@ -0,0 +1,10 @@ +@font-face { + font-family: operators; + src: url("/fonts/math/operators.woff"); +} +math, math * { + font-family: operators; + /* Use large enough font-size so that 1/18em = 2.77px > epsilon and + one can really distinguish lspace/rspace values. */ + font-size: 50px; +} diff --git a/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.js b/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.js new file mode 100644 index 0000000000..35efc2ecb9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/operators/support/operator-dictionary-tests.js @@ -0,0 +1,226 @@ +var OperatorDictionaryTests = { + "lspace/rspace": function(json, key) { + let parsedKey = splitKey(key); + let entry = json.dictionary[key]; + let epsilon = 1; + + document.body.insertAdjacentHTML("beforeend", `
    \ +lspace/rspace for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + \ +  \ + ${parsedKey.characters}\ +  \ + \ +\ + VS \ +\ + \ +  \ + ${parsedKey.characters}\ +  \ + \ +\ +
    `); + var div = document.body.lastElementChild; + var mrows = div.getElementsByTagName("mrow"); + function spaceBetween(element, i, j) { + return element.children[j].getBoundingClientRect().left - + element.children[i].getBoundingClientRect().right; + } + var lspace = spaceBetween(mrows[0], 0, 1); + var rspace = spaceBetween(mrows[0], 1, 2); + var lspaceRef = spaceBetween(mrows[1], 0, 1); + var rspaceRef = spaceBetween(mrows[1], 1, 2); + assert_approx_equals(lspace, lspaceRef, epsilon, `lspace (${key})`); + assert_approx_equals(rspace, rspaceRef, epsilon, `rspace (${key})`); + div.style.display = "none"; + }, + + "movablelimits": function(json, key) { + let parsedKey = splitKey(key); + let entry = json.dictionary[key]; + let epsilon = 1; + + var defaultValue = defaultPropertyValue(entry, "movablelimits"); + document.body.insertAdjacentHTML("beforeend", `
    \ +movablelimits for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + \ + ${parsedKey.characters}\ +  \ + \ +\ + VS \ +\ + \ + ${parsedKey.characters}\ +  \ + \ +\ +
    `); + var div = document.body.lastElementChild; + var munders = div.getElementsByTagName("munder"); + munder = munders[0].getBoundingClientRect() + munderRef = munders[1].getBoundingClientRect() + assert_approx_equals(munder.height, munderRef.height, epsilon, `Movablelimits property for ${key} should be '${defaultValue}'`); + div.style.display = "none"; + }, + + "largeop": function(json, key) { + let parsedKey = splitKey(key); + let entry = json.dictionary[key]; + let epsilon = 1; + + var defaultValue = defaultPropertyValue(entry, "largeop"); + document.body.insertAdjacentHTML("beforeend", `
    \ +largeop for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + ${parsedKey.characters}\ +\ + VS \ +\ + ${parsedKey.characters}\ +\ +
    `); + var div = document.body.lastElementChild; + var mos = div.getElementsByTagName("mo"); + mo = mos[0].getBoundingClientRect() + moRef = mos[1].getBoundingClientRect() + assert_approx_equals(mo.height, moRef.height, epsilon, `Largeop property for ${key} should be '${defaultValue}'`); + div.style.display = "none"; + }, + + "stretchy": function(json, key) { + let parsedKey = splitKey(key); + let entry = json.dictionary[key]; + let epsilon = 1; + + if (entry.horizontal) { + // FIXME: Should really do a MathMLFeatureDetection to verify + // support for *horizontal* stretching. + var defaultValue = defaultPropertyValue(entry, "stretchy"); + document.body.insertAdjacentHTML("beforeend", `
    \ +stretchy for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + \ +   \ + ${parsedKey.characters}\ + \ +\ + VS \ +\ + \ +   \ + ${parsedKey.characters}\ + \ +\ +
    `); + var div = document.body.lastElementChild; + var mos = div.getElementsByTagName("mo"); + mo = mos[0].getBoundingClientRect() + moRef = mos[1].getBoundingClientRect() + assert_approx_equals(mo.width, moRef.width, epsilon, `Stretchy property for ${key} should be '${defaultValue}'`); + div.style.display = "none"; + } else { + var defaultValue = defaultPropertyValue(entry, "stretchy"); + document.body.insertAdjacentHTML("beforeend", `
    \ +stretchy for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + \ + ${parsedKey.characters}\ + \ + \ +\ + VS \ +\ + \ + ${parsedKey.characters}\ + \ + \ +\ +
    `); + var div = document.body.lastElementChild; + var mos = div.getElementsByTagName("mo"); + mo = mos[0].getBoundingClientRect() + moRef = mos[1].getBoundingClientRect() + assert_approx_equals(mo.height, moRef.height, epsilon, `Stretchy property for ${key} should be '${defaultValue}'`); + div.style.display = "none"; + } + }, + + "symmetric": function(json, key) { + let parsedKey = splitKey(key); + let entry = json.dictionary[key]; + let epsilon = 1; + + var defaultValue = defaultPropertyValue(entry, "symmetric"); + document.body.insertAdjacentHTML("beforeend", `
    \ +symmetric for "${parsedKey.characters}" (${parsedKey.form}): \ +\ + \ + ${parsedKey.characters}\ + \ + \ +\ + VS \ +\ + \ + ${parsedKey.characters}\ + \ + \ +\ +
    `); + var div = document.body.lastElementChild; + var mos = div.getElementsByTagName("mo"); + mo = mos[0].getBoundingClientRect() + moRef = mos[1].getBoundingClientRect() + assert_approx_equals(mo.height, moRef.height, epsilon, `Symmetric property for ${key} should be '${defaultValue}'`); + div.style.display = "none"; + }, + + run: async function(json, name, fileIndex) { + let has_required_feature_for_testing = + await MathMLFeatureDetection[`has_operator_${name}`](); + + // The operator dictionary has more than one thousand of entries so the + // tests are grouped in chunks so that these don't get much more + // importance than other MathML tests. For easy debugging, one can set the + // chunk size to 1. Also, note that the test div will remain visible for + // failed tests. + const entryPerChunk = 50 + const filesPerProperty = 6 + + var counter = 0; + var test; + + for (key in json.dictionary) { + + // Skip this key if it does not belong to that test file. + if (counter % filesPerProperty != fileIndex) { + counter++; + continue; + } + + var counterInFile = (counter - fileIndex) / filesPerProperty; + if (counterInFile % entryPerChunk === 0) { + // Start of a new chunk. + // Complete current async tests and create new ones for the next chunk. + if (test) test.done(); + test = async_test(`Operator dictionary chunk ${1 + counterInFile / entryPerChunk} - ${name}`); + + test.step(function() { + assert_true(has_required_feature_for_testing, `${name} is supported`); + }); + } + test.step(function() { + OperatorDictionaryTests[name](json, key); + }); + + counter++; + } + + // Complete current async test. + if (test) test.done(); + } +}; diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001-ref.html new file mode 100644 index 0000000000..632d6739db --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001-ref.html @@ -0,0 +1,125 @@ + + + + +Dynamic radical: paint invalidation (expectation) + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html new file mode 100644 index 0000000000..4e9375842d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html @@ -0,0 +1,167 @@ + + + + +Dynamic radical: paint invalidation + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow-ref.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow-ref.html new file mode 100644 index 0000000000..e1b8c3d161 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow-ref.html @@ -0,0 +1,18 @@ + + + + + radicals rendering from in-flow children + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow.html new file mode 100644 index 0000000000..7a5de3811b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/radical-rendering-from-in-flow.html @@ -0,0 +1,49 @@ + + + + + radicals rendering from in-flow children + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-1.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-1.html new file mode 100644 index 0000000000..7600c35c59 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-1.html @@ -0,0 +1,222 @@ + + + + +Radical parameters + + + + + + + + + + +
    +

    + + + + + + + +

    +
    +

    + + + + + + + + + +

    +
    +

    + + + + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + + + + +

    +

    + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-2.html b/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-2.html new file mode 100644 index 0000000000..01d636b522 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/radicals/root-parameters-2.html @@ -0,0 +1,79 @@ + + + + +Radical parameters + + + + + + + + + + +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/cramped-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/cramped-001.html new file mode 100644 index 0000000000..e03b4d968d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/cramped-001.html @@ -0,0 +1,627 @@ + + + + +Cramped elements + + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + 0 + 1 + + + + + 3 + 4 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + 2 + + +

    +

    + + + 0 + + + + + 2 + + +

    +

    + + + 0 + 1 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + + +

    +

    + + + 0 + + + + + + +

    +

    + + + + + + + 1 + 2 + + +

    +

    + + + 0 + + + + + 2 + + +

    +

    + + + 0 + 1 + + + + + + +

    +

    + + + + + + + 1 + 2 + + +

    +

    + + + 0 + + + + + 2 + + +

    +

    + + + 0 + 1 + + + + + + +

    +

    + + + + + + + 1 + 2 + 3 + 4 + 5 + 6 + + 7 + 8 + 9 + 10 + 11 + 12 + + +

    +

    + + + 0 + 1 + 2 + + + + + 4 + 5 + 6 + + 7 + 8 + 9 + 10 + 11 + 12 + + +

    +

    + + + 0 + 1 + 2 + 3 + + + + + 5 + 6 + + 7 + 8 + 9 + 10 + 11 + 12 + + +

    +

    + + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + 7 + 8 + + + + + 10 + 11 + 12 + + +

    +

    + + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + + 7 + 8 + 9 + + + + + 11 + 12 + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/empty-underover.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/empty-underover.html new file mode 100644 index 0000000000..b5fcc9c4ca --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/empty-underover.html @@ -0,0 +1,68 @@ + + + + +Test Script and Limit Schemata + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html new file mode 100644 index 0000000000..a4f16aa07f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html @@ -0,0 +1,9 @@ + +MathML Reference +

    The 1's below should have the same size

    + + + 1 + 1 + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html new file mode 100644 index 0000000000..a744149e60 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html @@ -0,0 +1,16 @@ + +MathML: Dynamically change accent on mover + + + +

    The 1's below should have the same size

    + + + 1 + 1 + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001-ref.html new file mode 100644 index 0000000000..f8631539c0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001-ref.html @@ -0,0 +1,19 @@ + + + + + mprescripts should render as an mrow (reference) + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001.html new file mode 100644 index 0000000000..2435b6291d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/mprescripts-001.html @@ -0,0 +1,26 @@ + + + + + mprescripts should render as an mrow + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001-ref.html new file mode 100644 index 0000000000..55add01415 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001-ref.html @@ -0,0 +1,19 @@ + + + + + none should render as an mrow (reference) + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001.html new file mode 100644 index 0000000000..f1bfb442f7 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-001.html @@ -0,0 +1,26 @@ + + + + + none should render as an mrow + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002-ref.html new file mode 100644 index 0000000000..dac4dab553 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002-ref.html @@ -0,0 +1,73 @@ + + + + + none used at other places than mmultiscripts' script (reference) + + + + +

    + + + + 2 + + + + + 1 + + + +

    +

    + + + + 2 + + + + + 1 + + + +

    +

    + + + + 2 + 3 + + + + + 1 + + 3 + + + + + 1 + 2 + + + +

    +

    + + + + 2 + 3 + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002.html new file mode 100644 index 0000000000..d1f3a3a0e1 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/none-002.html @@ -0,0 +1,76 @@ + + + + + none used at other places than mmultiscripts' script + + + + + + + +

    + + + + 2 + + + + + 1 + + + +

    +

    + + + + 2 + + + + + 1 + + + +

    +

    + + + + 2 + 3 + + + + + 1 + + 3 + + + + + 1 + 2 + + + +

    +

    + + + + 2 + 3 + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-1.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-1.html new file mode 100644 index 0000000000..1117e1008e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-1.html @@ -0,0 +1,114 @@ + + + + +Subscripts and Superscripts metrics + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-2.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-2.html new file mode 100644 index 0000000000..9c89dd3727 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-2.html @@ -0,0 +1,173 @@ + + + + +Subscripts and Superscripts metrics + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-3.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-3.html new file mode 100644 index 0000000000..28db9b70cc --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-3.html @@ -0,0 +1,192 @@ + + + + +Subscripts and Superscripts metrics + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-4.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-4.html new file mode 100644 index 0000000000..cdf6cbe20e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-4.html @@ -0,0 +1,129 @@ + + + + +Subscripts and Superscripts metrics + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-5.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-5.html new file mode 100644 index 0000000000..1743c2e499 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-5.html @@ -0,0 +1,97 @@ + + + + +Subscripts and Superscripts metrics + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-6.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-6.html new file mode 100644 index 0000000000..9666c80f9f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-6.html @@ -0,0 +1,120 @@ + + + + +mprescripts + + + + + + + + + + + +
    +

    + + + + + + + + +

    +

    + + + + + + + + +

    +

    + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + +

    +

    + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative-ref.html new file mode 100644 index 0000000000..c1bf2e4695 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative-ref.html @@ -0,0 +1,35 @@ + + + + + msub/msup/msubsup/mmultiscripts subscriptshift and superscriptshift attributes (reference) + + +

    Test passes if the green squares are not about 300px away from the blue squares.

    +

    + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html new file mode 100644 index 0000000000..2f29db401d --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html @@ -0,0 +1,48 @@ + + + + + msub/msup/msubsup/mmultiscripts subscriptshift and superscriptshift attributes + + + + + + + + + +

    Test passes if the green squares are not about 300px away from the blue squares.

    +

    + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-1.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-1.html new file mode 100644 index 0000000000..3f49b1d53b --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-1.html @@ -0,0 +1,354 @@ + + + + +Subscripts and Superscripts parameters + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + + +

    +
    +

    + + + + + + +

    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-2.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-2.html new file mode 100644 index 0000000000..205697f4e4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/subsup-parameters-2.html @@ -0,0 +1,181 @@ + + + + +Subscripts and Superscripts parameters + + + + + + + + + + +
    +

    Null Italic Correction

    +

    + + + ⫿ + + + + + + ⫿ + + + + + + ⫿ + + + + + + + ⫿ + + + + + + + +

    +

    NonNull Italic Correction (MathGlyphVariantRecord)

    +

    + + + ⫿ + + + + + + ⫿ + + + + + + ⫿ + + + + + + + ⫿ + + + + + + + +

    +

    NonNull Italic Correction (GlyphAssembly)

    +

    + + + ⫿ + + + + + + ⫿ + + + + + + ⫿ + + + + + + + ⫿ + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-1.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-1.html new file mode 100644 index 0000000000..ae4a945404 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-1.html @@ -0,0 +1,175 @@ + + + + +Underscripts and Overscripts parameters + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001-ref.html new file mode 100644 index 0000000000..a9545c60f4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001-ref.html @@ -0,0 +1,61 @@ + + + + + munder/mover/munderover align (reference) + + +

    Test passes if the center of the following rectangles is aligned + on the same vertical axis.

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001.html new file mode 100644 index 0000000000..aa2460e062 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-legacy-align-attribute-001.html @@ -0,0 +1,72 @@ + + + + + munder/mover/munderover align + + + + + + + + +

    Test passes if the center of the following rectangles is aligned + on the same vertical axis.

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-1.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-1.html new file mode 100644 index 0000000000..eb2e0512e0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-1.html @@ -0,0 +1,151 @@ + + + + +Underscripts and Overscripts parameters + + + + + + + + + + +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-2.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-2.html new file mode 100644 index 0000000000..aad03a3863 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-2.html @@ -0,0 +1,151 @@ + + + + +Underscripts and Overscripts parameters + + + + + + + + + + +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-3.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-3.html new file mode 100644 index 0000000000..9ec9dbf47e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-3.html @@ -0,0 +1,452 @@ + + + + +Underscripts and Overscripts parameters + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html new file mode 100644 index 0000000000..5000d24f18 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-4.tentative.html @@ -0,0 +1,335 @@ + + + + +Underscripts and Overscripts parameters + + + + + + + + + + + +
    +

    + + + + + ° + + + + ˘ + + + + ˘ + + + + ° + ° + + + + ˘ + ˘ + + + + ˘ + ˘ + + +

    +
    +

    + + + + + ˘ + + + + ˘ + + + + ° + + + + ˘ + ˘ + + + + ˘ + ˘ + + + + ˘ + ˘ + + +

    +
    +

    + + + + + ° + + + + ° + + + + ˘ + + + + ° + ˘ + + + + ˘ + ˘ + + + + ˘ + ˘ + + +

    +
    +

    + + + + + ° + + + + ° + + + + ˘ + + + + ° + ˘ + + + + ˘ + ˘ + + + + ˘ + ˘ + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-1.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-1.html new file mode 100644 index 0000000000..1c236eabed --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-1.html @@ -0,0 +1,151 @@ + + + + +Underscripts and Overscripts parameters (embellished operators) + + + + + + + + + + +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-2.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-2.html new file mode 100644 index 0000000000..04a97786c4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-parameters-and-embellished-operator-2.html @@ -0,0 +1,151 @@ + + + + +Underscripts and Overscripts parameters (embellished operators) + + + + + + + + + + +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    +
    +

    + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001-ref.html new file mode 100644 index 0000000000..89ac9c6324 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001-ref.html @@ -0,0 +1,167 @@ + + + + +Horizontal stretchy operator (reference) + + +

    This test passes if you see green rectangles and no red.

    + +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001.html new file mode 100644 index 0000000000..6b0f99ec11 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-001.html @@ -0,0 +1,270 @@ + + + + +Horizontal stretchy operator + + + + + + + + +

    This test passes if you see green rectangles and no red.

    + + +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002-ref.html new file mode 100644 index 0000000000..c12c74d654 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002-ref.html @@ -0,0 +1,167 @@ + + + + +Horizontal stretchy operator, embellished with two nested mrows (reference) + + +

    This test passes if you see green rectangles and no red.

    + +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002.html new file mode 100644 index 0000000000..a1cfa20bb4 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-002.html @@ -0,0 +1,272 @@ + + + + +Horizontal stretchy operator, embellished with two nested mrows + + + + + + + + + + +

    This test passes if you see green rectangles and no red.

    + + +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003-ref.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003-ref.html new file mode 100644 index 0000000000..02c7ce2efb --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003-ref.html @@ -0,0 +1,167 @@ + + + + +Horizontal stretchy operator, embellished with an munderover (reference) + + +

    This test passes if you see green rectangles and no red.

    + +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003.html b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003.html new file mode 100644 index 0000000000..735fcab63e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/scripts/underover-stretchy-003.html @@ -0,0 +1,272 @@ + + + + +Horizontal stretchy operator, embellished with an munderover + + + + + + + + + + +

    This test passes if you see green rectangles and no red.

    + + +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + +
    +
    + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    + +
    + +
    + + + + + + + +
    +
    + + + + + + + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children-ref.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children-ref.html new file mode 100644 index 0000000000..ae74024c2f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children-ref.html @@ -0,0 +1,11 @@ + + + + +space (reference) + + +

    Test passes if you see a green square and no text.

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children.html new file mode 100644 index 0000000000..8520f83d24 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-children.html @@ -0,0 +1,13 @@ + + + +space + + + + + +

    Test passes if you see a green square and no text.

    + Text Node x + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001-ref.html new file mode 100644 index 0000000000..da4f1dd397 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001-ref.html @@ -0,0 +1,18 @@ + + + + + mspace percentages (reference) + + + +

    This test passes if there is a green square with no red.

    + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001.html new file mode 100644 index 0000000000..758429e1db --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-percentage-001.html @@ -0,0 +1,33 @@ + + + + + mspace percentages + + + + + + +

    This test passes if there is a green square with no red.

    + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-width-height-001.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-width-height-001.html new file mode 100644 index 0000000000..52b3eaa190 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/mspace-width-height-001.html @@ -0,0 +1,113 @@ + + + + +Space + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-1.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-1.html new file mode 100644 index 0000000000..4cb2a58a3c --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-1.html @@ -0,0 +1,150 @@ + + + + +Space + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + +

    +
    +
    + +
    +
    +

    + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2-ref.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2-ref.html new file mode 100644 index 0000000000..5a8b39e189 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2-ref.html @@ -0,0 +1,15 @@ + + + + +space (reference) + + +

    Test passes if you see a green square and no red.

    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2.html new file mode 100644 index 0000000000..640afb204f --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-2.html @@ -0,0 +1,42 @@ + + + + +space + + + + + +

    Test passes if you see a green square and no red.

    +
    + +
    + + + + + + + + + + + + + +
    + +
    +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-001.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-001.html new file mode 100644 index 0000000000..60e81095ad --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-001.html @@ -0,0 +1,340 @@ + + + + +Space-like elements + + + + + + + + + + + + +
    +

    + + X + + + X + X + + X + +

    +

    + + X + + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    +

    + + X + + + + X + + + X + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-002.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-002.html new file mode 100644 index 0000000000..fba92adf23 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-002.html @@ -0,0 +1,174 @@ + + + + +Space-like elements + + + + + + + + + + + + +
    +

    + + X + + + + X + STATUS MESSAGE + + X + + X + +

    +

    + + X + + + + + X + + X + +

    +

    + + X + + + + 1 + STATUS MESSAGE + + X + + X + +

    +

    + + X + + + + X + TEXT ANNOTATION + + X + + X + +

    +

    + + X + + + + + X + + X + +

    +

    + + X + + + + 1 + TEXT ANNOTATION + + X + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-003.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-003.html new file mode 100644 index 0000000000..5b693fb3c9 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-003.html @@ -0,0 +1,252 @@ + + + + +Non space-like elements + + + + + + + + + + + + +
    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + + X + X + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + X + X + + X + +

    +

    + + X + + + X + X + X + + X + + X + +

    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + + X + X + + X + + X + +

    +

    + + X + + + X + X + X + + X + + X + +

    +

    + + X + + + X + + X + + X + +

    +

    + + X + + + + + X + + + + X + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-004.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-004.html new file mode 100644 index 0000000000..1e8cfaaaca --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-like-004.html @@ -0,0 +1,446 @@ + + + + +Space-like elements + + + + + + + + + + + + + +
    +

    + + X + + + + X + + + X + X + + X + + + X + + X + + + X + + + + X + X + + + + + X + + + + X + + + X + X + + X + X + + + X + + + X + X + + + + + + X + + X + +

    +

    + + 012 + X + 012 + + + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    +

    + + X + + + + X + + + X + X + + X + + + X + + X + + + X + + + + X + X + + + + + X + + + + X + + + X + X + + X + X + + + X + + + X + X + + + + + + X + + X + +

    +

    + + 012 + X + 012 + + + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + X + 012 + + 012 + + 012 + X + 012 + X + 012 + + 012 + + 012 + + 012 + + 012 + + 012 + X + 012 + + 012 + X + 012 + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html new file mode 100644 index 0000000000..ed30edde96 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative-ref.html @@ -0,0 +1,15 @@ + + + + +space and vertical-align (reference) + + +

    Test passes if you see a green square.

    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html new file mode 100644 index 0000000000..359b12aa34 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/spaces/space-vertical-align.tentative.html @@ -0,0 +1,22 @@ + + + + +space and vertical-align + + + + + +

    Test passes if you see a green square.

    +
    +
    + + + + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/dynamic-table-001.html b/testing/web-platform/tests/mathml/presentation-markup/tables/dynamic-table-001.html new file mode 100644 index 0000000000..a07ef94d27 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/dynamic-table-001.html @@ -0,0 +1,301 @@ + + + + +Dynamic tabular elements + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + +

    +

    + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-001.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-001.html new file mode 100644 index 0000000000..91e99184df --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-001.html @@ -0,0 +1,286 @@ + + + + +Basic table layout + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-002.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-002.html new file mode 100644 index 0000000000..b1d75db0c0 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-002.html @@ -0,0 +1,146 @@ + + + + +Basic table alignment + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-003.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-003.html new file mode 100644 index 0000000000..323cb03c8a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-003.html @@ -0,0 +1,146 @@ + + + + +Basic table alignment + + + + + + + + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-axis-height.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-axis-height.html new file mode 100644 index 0000000000..58f9d64c21 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-axis-height.html @@ -0,0 +1,55 @@ + + + + +table axis height + + + + + + + + + + +
    +

    + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-cell-mrow-layout.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-cell-mrow-layout.html new file mode 100644 index 0000000000..1e76e3949a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-cell-mrow-layout.html @@ -0,0 +1,74 @@ + + + + +Table cell mrow layout + + + + + + + + + +
    +

    + + + + + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + + + + + + + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tables/table-default-styles-001.html b/testing/web-platform/tests/mathml/presentation-markup/tables/table-default-styles-001.html new file mode 100644 index 0000000000..495cdc000a --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tables/table-default-styles-001.html @@ -0,0 +1,49 @@ + + +Tabular math elements default styles + + + + + + + + +
    +
    + + + + +
    + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001-ref.html new file mode 100644 index 0000000000..a145a8eb51 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001-ref.html @@ -0,0 +1,43 @@ + + + + +Dynamic mtext-like elements (reference) + + + + +
      +
    1. É
    2. +
    3. pX
    4. +
    5. Xp
    6. +
    7. É
    8. +
    9. pX
    10. +
    11. Xp
    12. +
    13. É
    14. +
    15. pX
    16. +
    17. Xp
    18. +
    19. É
    20. +
    21. pX
    22. +
    23. Xp
    24. +
    25. É
    26. +
    27. pX
    28. +
    29. Xp
    30. +
    31. É
    32. +
    33. pX
    34. +
    35. Xp
    36. +
    37. É
    38. +
    39. pX
    40. +
    41. É
    42. +
    43. pX
    44. +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001.html b/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001.html new file mode 100644 index 0000000000..8e42f7fa17 --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tokens/dynamic-mtext-like-001.html @@ -0,0 +1,70 @@ + + + + +Dynamic mtext-like elements + + + + + + + + + +
      +
    1. +
    2. X
    3. +
    4. p
    5. +
    6. +
    7. X
    8. +
    9. p
    10. +
    11. +
    12. X
    13. +
    14. p
    15. +
    16. +
    17. X
    18. +
    19. p
    20. +
    21. +
    22. X
    23. +
    24. p
    25. +
    26. +
    27. X
    28. +
    29. p
    30. + +
    31. +
    32. X
    33. +
    34. +
    35. X
    36. +
    + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001-ref.html b/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001-ref.html new file mode 100644 index 0000000000..bbd42a93ee --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001-ref.html @@ -0,0 +1,22 @@ + + + + + ms legacy lquote and rquote attributes (reference) + + + + + +

    + + X + +

    + + + diff --git a/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001.html b/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001.html new file mode 100644 index 0000000000..abac0c8b2e --- /dev/null +++ b/testing/web-platform/tests/mathml/presentation-markup/tokens/ms-001.html @@ -0,0 +1,30 @@ + + + + + ms legacy lquote and rquote attributes + + + + + + + + + + +

    + + X + +

    + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-001.html b/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-001.html new file mode 100644 index 0000000000..e423b16fd7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-001.html @@ -0,0 +1,111 @@ + + + + +Attribute mapping + + + + + + + + + + + +
    +
    + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-002.html b/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-002.html new file mode 100644 index 0000000000..baf136f358 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/attribute-mapping-002.html @@ -0,0 +1,118 @@ + + + + +Attribute mapping + + + + + + + + + + + +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/blur-filter-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/blur-filter-ref.html new file mode 100644 index 0000000000..21fc165b7d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/blur-filter-ref.html @@ -0,0 +1,13 @@ + + + + +Blur filter (reference) + + +

    Rectangles should be blurred.

    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/blur-filter.html b/testing/web-platform/tests/mathml/relations/css-styling/blur-filter.html new file mode 100644 index 0000000000..92a894bf34 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/blur-filter.html @@ -0,0 +1,21 @@ + + + + +Blur filter + + + + + +

    Rectangles should be blurred.

    +
    + +
    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/clip-path-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/clip-path-ref.html new file mode 100644 index 0000000000..57935564bf --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/clip-path-ref.html @@ -0,0 +1,13 @@ + + + + +Clip property (reference) + + +

    Rectangles should be clipped to a polygon.

    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/clip-path.html b/testing/web-platform/tests/mathml/relations/css-styling/clip-path.html new file mode 100644 index 0000000000..abe58e2261 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/clip-path.html @@ -0,0 +1,21 @@ + + + + +Clip property + + + + + +

    Rectangles should be clipped to a polygon.

    +
    + +
    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/clip-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/clip-ref.html new file mode 100644 index 0000000000..7882ac8c31 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/clip-ref.html @@ -0,0 +1,13 @@ + + + + +Clip property (reference) + + +

    Rectangles should be clipped.

    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/clip.html b/testing/web-platform/tests/mathml/relations/css-styling/clip.html new file mode 100644 index 0000000000..48b7753fd8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/clip.html @@ -0,0 +1,21 @@ + + + + +Clip property + + + + + +

    Rectangles should be clipped.

    +
    + +
    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/color-001-ref.html new file mode 100644 index 0000000000..0efca480ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-001-ref.html @@ -0,0 +1,12 @@ + + + + +color (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-001.html b/testing/web-platform/tests/mathml/relations/css-styling/color-001.html new file mode 100644 index 0000000000..76d65f579c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-001.html @@ -0,0 +1,34 @@ + + + + +color + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 2 + 3 + 4 + 5 +
    + 1 + 2 + 3 + 4 + 5 +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-002-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/color-002-ref.html new file mode 100644 index 0000000000..0efca480ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-002-ref.html @@ -0,0 +1,12 @@ + + + + +color (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-002.html b/testing/web-platform/tests/mathml/relations/css-styling/color-002.html new file mode 100644 index 0000000000..bce24f54c8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-002.html @@ -0,0 +1,29 @@ + + + + +color + + + + + + + +

    Test passes if you see a green square.

    +
    + 12 +
    + 12 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-003-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/color-003-ref.html new file mode 100644 index 0000000000..0efca480ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-003-ref.html @@ -0,0 +1,12 @@ + + + + +color (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-003.html b/testing/web-platform/tests/mathml/relations/css-styling/color-003.html new file mode 100644 index 0000000000..dd04b61054 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-003.html @@ -0,0 +1,31 @@ + + + + +color + + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 22 +
    + 1 + 22 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative-ref.html new file mode 100644 index 0000000000..0efca480ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative-ref.html @@ -0,0 +1,12 @@ + + + + +color (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative.html b/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative.html new file mode 100644 index 0000000000..4bd15e62a0 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-004.tentative.html @@ -0,0 +1,55 @@ + + + + +color + + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
    + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-005-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/color-005-ref.html new file mode 100644 index 0000000000..0efca480ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-005-ref.html @@ -0,0 +1,12 @@ + + + + +color (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/color-005.html b/testing/web-platform/tests/mathml/relations/css-styling/color-005.html new file mode 100644 index 0000000000..f2660c9e62 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/color-005.html @@ -0,0 +1,88 @@ + + + + +color + + + + + + + + +

    Test passes if you see a green square.

    +
    + + + + + + - + + + + + + + + + + + + + + + + + + + +
    + + + + + + - + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/default-font-family.html b/testing/web-platform/tests/mathml/relations/css-styling/default-font-family.html new file mode 100644 index 0000000000..c471b0fc9d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/default-font-family.html @@ -0,0 +1,36 @@ + + + + +Default font-family on the <math> root + + + + + + + +
    +
    +
    + +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-semantics-and-maction.html b/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-semantics-and-maction.html new file mode 100644 index 0000000000..23f8b62dfa --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-semantics-and-maction.html @@ -0,0 +1,47 @@ + + + + +Default properties on <semantics> and <maction> + + + + + + + + +
    +
    + + + 1 + 2 + 3 + 4 + 5 + + + 1 + 2 + 3 + 4 + 5 + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-the-math-root.html b/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-the-math-root.html new file mode 100644 index 0000000000..c329935f2e --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/default-properties-on-the-math-root.html @@ -0,0 +1,57 @@ + + + + +Default properties on the <math> root + + + + + + + + + +
    +
    + + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-1-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/display-1-ref.html new file mode 100644 index 0000000000..ce65aba18c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-1-ref.html @@ -0,0 +1,12 @@ + + + + +display (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-1.html b/testing/web-platform/tests/mathml/relations/css-styling/display-1.html new file mode 100644 index 0000000000..5a9e4db687 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-1.html @@ -0,0 +1,18 @@ + + + + +display + + + + + +

    Test passes if you see a green square.

    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-2.html b/testing/web-platform/tests/mathml/relations/css-styling/display-2.html new file mode 100644 index 0000000000..36a02952eb --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-2.html @@ -0,0 +1,139 @@ + + + + +Verify that one can override the layout of MathML elements with the CSS display property + + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-contents.html b/testing/web-platform/tests/mathml/relations/css-styling/display-contents.html new file mode 100644 index 0000000000..b18fdd6c8b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-contents.html @@ -0,0 +1,36 @@ + + + + +display: contents + + + + + + + + +
    +
    + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow-ref.html new file mode 100644 index 0000000000..b359414dc2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow-ref.html @@ -0,0 +1,20 @@ + + +
    + + text + +
    +
    + + text + +
    diff --git a/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow.html b/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow.html new file mode 100644 index 0000000000..33df26c3ee --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/display-with-overflow.html @@ -0,0 +1,19 @@ + + + + + + + text + + + text + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011-ref.html new file mode 100644 index 0000000000..400c46a245 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011-ref.html @@ -0,0 +1,155 @@ + + + + displaystyle + + + + + + + + + + OO + + + OO + + + + + + + + OO + OO + + + + + + + + + OO + OO + + + OO + + + + + + + + + OO + OO + + + OO + OO + + + OO + OO + OO + + + OO + OO + OO + + OO + OO + + + + + + + + + OO + OO + + + OO + OO + + + OO + OO + OO + + + + + + + + + + + OO + + + + + + + + + OO + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011.html new file mode 100644 index 0000000000..a0bfc29ae5 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-011.html @@ -0,0 +1,168 @@ + + + + displaystyle + + + + + + + + + + + + + + + + + + + + + OO + + + OO + + + + + + + + OO + OO + + + + + + + + + OO + OO + + + OO + + + + + + + + + OO + OO + + + OO + OO + + + OO + OO + OO + + + OO + OO + OO + + OO + OO + + + + + + + + + OO + OO + + + OO + OO + + + OO + OO + OO + + + + + + + + + + + OO + + + + + + + + + OO + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012-ref.html new file mode 100644 index 0000000000..96042b696f --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012-ref.html @@ -0,0 +1,30 @@ + + + + displaystyle + + + + + + + + + + OO + OO + OOO + + + OO + OO + OOO + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012.html new file mode 100644 index 0000000000..9fd4c784dd --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-012.html @@ -0,0 +1,37 @@ + + + + displaystyle + + + + + + + + + + + + + + + OO + OO + OOO + + + OO + OO + OOO + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013-ref.html new file mode 100644 index 0000000000..9a580350de --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013-ref.html @@ -0,0 +1,58 @@ + + + + displaystyle + + + + + + + + + OO + 12 + + + + OO + 12 + + + + + + + OO + 12 + + + + + + OO + 12 + + + + OO + 12 + + + + + + + OO + 12 + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013.html new file mode 100644 index 0000000000..3ce9fff062 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-013.html @@ -0,0 +1,80 @@ + + + + displaystyle + + + + + + + + + + + + + + + + + OO + 12 + + + + OO + 12 + + + + + + + OO + 12 + + + + + + OO + 12 + + + + OO + 12 + + + + + + + OO + 12 + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014-ref.html new file mode 100644 index 0000000000..085e2c429d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014-ref.html @@ -0,0 +1,35 @@ + + + + displaystyle + + + + + + + + + + + + X + + + + X + X + + + + X + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014.html new file mode 100644 index 0000000000..a4f1208e35 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-014.html @@ -0,0 +1,55 @@ + + + + displaystyle + + + + + + + + + + + + + + + + + + + + + + X + + + + X + X + + + + X + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015-ref.html new file mode 100644 index 0000000000..2e375c6886 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015-ref.html @@ -0,0 +1,58 @@ + + + + + displaystyle and display + + + + + + b + c + + + + + + b + c + + + + + + b + c + + + + + + b + c + + + + + + b + c + + + + + + b + c + + + + + + b + c + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015.html new file mode 100644 index 0000000000..e4a747fb20 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-015.html @@ -0,0 +1,83 @@ + + + + + displaystyle and display + + + + + + + + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + b + c + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-1.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-1.html new file mode 100644 index 0000000000..26aed81d03 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-1.html @@ -0,0 +1,136 @@ + + + + +displaystyle + + + + + + + + + + + + +
    + ⫿ + ⫿ + ⫿ + ⫿ + ⫿ + + ⫿ + + + ⫿ + + + ⫿ + + + ⫿ + + ⫿ + ⫿ + ⫿ + ⫿ + ⫿ + ⫿⫿⫿ + ⫿⫿ + ⫿⫿ + ⫿⫿ + ⫿⫿⫿ + ⫿⫿⫿⫿⫿ + ⫿⫿ + ⫿⫿ + ⫿⫿⫿ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-2.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-2.html new file mode 100644 index 0000000000..68566cfc25 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-2.html @@ -0,0 +1,208 @@ + + + + +displaystyle + + + + + + + + + + + + +
    + + + + + + ⫿ + + + + + ⫿ + + + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + ⫿ + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + + + + + ⫿ + + + ⫿ + + + ⫿ + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-3.html b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-3.html new file mode 100644 index 0000000000..a5bcab2aaa --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/displaystyle-3.html @@ -0,0 +1,84 @@ + + + + +displaystyle + + + + + + + + + + + + + +
    + + + XX + X + + + + + XX + X + + + + + XX + X + X + + + + + XX + X + + + + + XX + X + + + + + XX + X + X + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1-ref.html new file mode 100644 index 0000000000..111ea79e24 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1-ref.html @@ -0,0 +1,75 @@ + + + + + Test dynamically changing dir attribute + + +

    + math: + + a + b + c + + + a + b + c + + + a + b + c + +

    +

    + mstyle: + + + a + b + c + + + + + a + b + c + + + + + a + b + c + + +

    +

    + mrow: + + + a + b + c + + + + + a + b + c + + + + + a + b + c + + +

    + + \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1.html b/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1.html new file mode 100644 index 0000000000..d97505eff1 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/dynamic-dir-1.html @@ -0,0 +1,105 @@ + + + + + Test dynamically changing dir attribute + + + + + + + + +

    + math: + + a + b + c + + + a + b + c + + + a + b + c + +

    +

    + mstyle: + + + a + b + c + + + + + a + b + c + + + + + a + b + c + + +

    +

    + mrow: + + + a + b + c + + + + + a + b + c + + + + + a + b + c + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display-ref.html new file mode 100644 index 0000000000..8f25c9db06 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display-ref.html @@ -0,0 +1,15 @@ + + + + +floating inside display: block MathML (reference) + + +

    Test passes if you see a blue square on the left and a smaller magenta square on the right.

    +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display.html b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display.html new file mode 100644 index 0000000000..f398094e15 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-inside-mathml-with-block-display.html @@ -0,0 +1,20 @@ + + + + +floating inside display: block MathML + + + + + +

    Test passes if you see a blue square on the left and a smaller magenta square on the right.

    + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math-ref.html new file mode 100644 index 0000000000..c82f395644 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math-ref.html @@ -0,0 +1,14 @@ + + + + +floating math (reference) + + +

    Test passes if you see a blue square on the left and a smaller magenta square on the right.

    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math.html b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math.html new file mode 100644 index 0000000000..1de54ccdcf --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/floats/floating-math.html @@ -0,0 +1,19 @@ + + + + +floating math + + + + + +

    Test passes if you see a blue square on the left and a smaller magenta square on the right.

    +
    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/floats/not-floating-001.html b/testing/web-platform/tests/mathml/relations/css-styling/floats/not-floating-001.html new file mode 100644 index 0000000000..7166dea5f8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/floats/not-floating-001.html @@ -0,0 +1,74 @@ + + + + +float property in math layout + + + + + + + + + +
    +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/ignored-properties-001.html b/testing/web-platform/tests/mathml/relations/css-styling/ignored-properties-001.html new file mode 100644 index 0000000000..34de5836ea --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/ignored-properties-001.html @@ -0,0 +1,79 @@ + + + + +Ignored CSS properties + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute-ref.html new file mode 100644 index 0000000000..8e3d7b1c21 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute-ref.html @@ -0,0 +1,27 @@ + + + + +legacy scriptminsize attribute (reference) + + + + +

    Test passes if you see a square of size 71px.

    +
    + + + + X + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute.html b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute.html new file mode 100644 index 0000000000..0ce87b6147 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptminsize-attribute.html @@ -0,0 +1,32 @@ + + + + +legacy scriptminsize attribute + + + + + + + + + +

    Test passes if you see a square of size 71px.

    +
    + + + + X + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute-ref.html new file mode 100644 index 0000000000..422325da28 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute-ref.html @@ -0,0 +1,27 @@ + + + + +legacy scriptsizemultiplier attribute (reference) + + + + +

    Test passes if you see a square of size 71px.

    +
    + + + + X + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute.html b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute.html new file mode 100644 index 0000000000..9a955612bc --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/legacy-scriptsizemultiplier-attribute.html @@ -0,0 +1,32 @@ + + + + +legacy scriptsizemultiplier attribute + + + + + + + + + +

    Test passes if you see a square of size 71px.

    +
    + + + + X + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/lengths-1-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/lengths-1-ref.html new file mode 100644 index 0000000000..9fca6f4963 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/lengths-1-ref.html @@ -0,0 +1,14 @@ + + + + +MathML lengths (reference) + + +

    Test passes if there is a green square and no red.

    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/lengths-1.html b/testing/web-platform/tests/mathml/relations/css-styling/lengths-1.html new file mode 100644 index 0000000000..896f08d111 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/lengths-1.html @@ -0,0 +1,122 @@ + + + + +MathML lengths + + + + + + + + + +

    Test passes if there is a green square and no red.

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/lengths-2.html b/testing/web-platform/tests/mathml/relations/css-styling/lengths-2.html new file mode 100644 index 0000000000..942611a8da --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/lengths-2.html @@ -0,0 +1,266 @@ + + + + +MathML lengths + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + +

    +

    + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001-notref.html new file mode 100644 index 0000000000..65e2781c5e --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001-notref.html @@ -0,0 +1,9 @@ + + +mathbackground on mrow (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001.html new file mode 100644 index 0000000000..e71fc53eaa --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-001.html @@ -0,0 +1,14 @@ + + +mathbackground on mrow + + + + + + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002-notref.html new file mode 100644 index 0000000000..8c984c2619 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002-notref.html @@ -0,0 +1,9 @@ + + +mathbackground on mstyle (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002.html new file mode 100644 index 0000000000..09407d9269 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-002.html @@ -0,0 +1,14 @@ + + +mathbackground on mstyle + + + + + + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003-notref.html new file mode 100644 index 0000000000..b6adaa8d4e --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003-notref.html @@ -0,0 +1,7 @@ + + +mathbackground on mtext (reference) + + □■□■□■□ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003.html new file mode 100644 index 0000000000..8cb11889db --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-003.html @@ -0,0 +1,11 @@ + + +mathbackground on mtext + + + + + + □■□■□■□ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004-notref.html new file mode 100644 index 0000000000..75465a6c38 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004-notref.html @@ -0,0 +1,9 @@ + + +mathbackground on semantics (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004.html b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004.html new file mode 100644 index 0000000000..be174cdbde --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathbackground-004.html @@ -0,0 +1,14 @@ + + +mathbackground on semantics + + + + + + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001-notref.html new file mode 100644 index 0000000000..9bc1ba5436 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001-notref.html @@ -0,0 +1,9 @@ + + +mathcolor on mrow (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001.html new file mode 100644 index 0000000000..2c463cac87 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-001.html @@ -0,0 +1,13 @@ + + +mathcolor on mrow + + + + + + + + □■□■□■□ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002-notref.html new file mode 100644 index 0000000000..5f9fd2bb9b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002-notref.html @@ -0,0 +1,9 @@ + + +mathcolor on mstyle (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002.html new file mode 100644 index 0000000000..147d41b46d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-002.html @@ -0,0 +1,14 @@ + + +mathcolor on mstyle + + + + + + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003-notref.html new file mode 100644 index 0000000000..11e018ebc1 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003-notref.html @@ -0,0 +1,7 @@ + + +mathcolor on mtext (reference) + + □■□■□■□ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003.html new file mode 100644 index 0000000000..5565b0d837 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-003.html @@ -0,0 +1,11 @@ + + +mathcolor on mtext + + + + + + □■□■□■□ + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004-notref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004-notref.html new file mode 100644 index 0000000000..67a45249e5 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004-notref.html @@ -0,0 +1,9 @@ + + +mathcolor on semantics (reference) + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004.html new file mode 100644 index 0000000000..3ea37fecdb --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-004.html @@ -0,0 +1,14 @@ + + +mathcolor on semantics + + + + + + + + □■□■□■□ + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css-ref.html new file mode 100644 index 0000000000..682fa64233 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css-ref.html @@ -0,0 +1,23 @@ + + + + +CSS color (reference) + + + + + +

    Test passes if you see a green rectangle:

    +

    + + X X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css.html b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css.html new file mode 100644 index 0000000000..2f53215346 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathcolor-mathbackground-css.html @@ -0,0 +1,27 @@ + + + + +CSS color + + + + + + + + + +

    Test passes if you see a green rectangle:

    +

    + + X X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-ref.html new file mode 100644 index 0000000000..ebb12a6c6c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords-ref.html @@ -0,0 +1,26 @@ + + + + + mathsize and css keywords + + +

    Test passes if you see 14 "A" of equal size:

    + + A + A + A + A + A + A + A + A + A + A + A + A + A + A + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html new file mode 100644 index 0000000000..2daed4cdea --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-css-keywords.html @@ -0,0 +1,33 @@ + + + + + mathsize and css keywords + + + + + + + +

    Test passes if you see 14 "A" of equal size:

    + + A + A + A + A + A + A + A + A + A + A + A + A + A + A + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values-ref.html new file mode 100644 index 0000000000..687efa49be --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values-ref.html @@ -0,0 +1,16 @@ + + + + + Legacy mathsize values + + +

    Test passes if you see four "A" of equal size:

    + + A + A + A + A + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values.html new file mode 100644 index 0000000000..aebf09f9b8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-legacy-values.html @@ -0,0 +1,23 @@ + + + + + Legacy mathsize values + + + + + + + +

    Test passes if you see four "A" of equal size:

    + + A + A + A + A + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-ref.html new file mode 100644 index 0000000000..7a0450e51e --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute-ref.html @@ -0,0 +1,19 @@ + + + + + Verify mathsize attribute + + + + +
    + + x + x + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute.html b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute.html new file mode 100644 index 0000000000..66bcb6dd25 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathsize-attribute.html @@ -0,0 +1,22 @@ + + + + + Verify mathsize attribute + + + + + + + + +
    + + x + x + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto-ref.html new file mode 100644 index 0000000000..105ba412e6 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto-ref.html @@ -0,0 +1,139 @@ + + + + +mathvariant auto (reference) + + + +

    Test passes if all the equalities below are true.

    + 𝐴=1D434 + 𝐵=1D435 + 𝐶=1D436 + 𝐷=1D437 + 𝐸=1D438 + 𝐹=1D439 + 𝐺=1D43A + 𝐻=1D43B + 𝐼=1D43C + 𝐽=1D43D
    + 𝐾=1D43E + 𝐿=1D43F + 𝑀=1D440 + 𝑁=1D441 + 𝑂=1D442 + 𝑃=1D443 + 𝑄=1D444 + 𝑅=1D445 + 𝑆=1D446 + 𝑇=1D447
    + 𝑈=1D448 + 𝑉=1D449 + 𝑊=1D44A + 𝑋=1D44B + 𝑌=1D44C + 𝑍=1D44D + 𝑎=1D44E + 𝑏=1D44F + 𝑐=1D450 + 𝑑=1D451
    + 𝑒=1D452 + 𝑓=1D453 + 𝑔=1D454 + =0210E + 𝑖=1D456 + 𝑗=1D457 + 𝑘=1D458 + 𝑙=1D459 + 𝑚=1D45A + 𝑛=1D45B
    + 𝑜=1D45C + 𝑝=1D45D + 𝑞=1D45E + 𝑟=1D45F + 𝑠=1D460 + 𝑡=1D461 + 𝑢=1D462 + 𝑣=1D463 + 𝑤=1D464 + 𝑥=1D465
    + 𝑦=1D466 + 𝑧=1D467 + 𝚤=1D6A4 + 𝚥=1D6A5 + 𝛢=1D6E2 + 𝛣=1D6E3 + 𝛤=1D6E4 + 𝛥=1D6E5 + 𝛦=1D6E6 + 𝛧=1D6E7
    + 𝛨=1D6E8 + 𝛩=1D6E9 + 𝛪=1D6EA + 𝛫=1D6EB + 𝛬=1D6EC + 𝛭=1D6ED + 𝛮=1D6EE + 𝛯=1D6EF + 𝛰=1D6F0 + 𝛱=1D6F1
    + 𝛲=1D6F2 + 𝛳=1D6F3 + 𝛴=1D6F4 + 𝛵=1D6F5 + 𝛶=1D6F6 + 𝛷=1D6F7 + 𝛸=1D6F8 + 𝛹=1D6F9 + 𝛺=1D6FA + 𝛻=1D6FB
    + 𝛼=1D6FC + 𝛽=1D6FD + 𝛾=1D6FE + 𝛿=1D6FF + 𝜀=1D700 + 𝜁=1D701 + 𝜂=1D702 + 𝜃=1D703 + 𝜄=1D704 + 𝜅=1D705
    + 𝜆=1D706 + 𝜇=1D707 + 𝜈=1D708 + 𝜉=1D709 + 𝜊=1D70A + 𝜋=1D70B + 𝜌=1D70C + 𝜍=1D70D + 𝜎=1D70E + 𝜏=1D70F
    + 𝜐=1D710 + 𝜑=1D711 + 𝜒=1D712 + 𝜓=1D713 + 𝜔=1D714 + 𝜕=1D715 + 𝜖=1D716 + 𝜗=1D717 + 𝜘=1D718 + 𝜙=1D719
    + 𝜚=1D71A + 𝜛=1D71B + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto.html b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto.html new file mode 100644 index 0000000000..affb02f0c9 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-auto.html @@ -0,0 +1,145 @@ + + + + +mathvariant auto + + + + + + + + + +

    Test passes if all the equalities below are true.

    + A=1D434 + B=1D435 + C=1D436 + D=1D437 + E=1D438 + F=1D439 + G=1D43A + H=1D43B + I=1D43C + J=1D43D
    + K=1D43E + L=1D43F + M=1D440 + N=1D441 + O=1D442 + P=1D443 + Q=1D444 + R=1D445 + S=1D446 + T=1D447
    + U=1D448 + V=1D449 + W=1D44A + X=1D44B + Y=1D44C + Z=1D44D + a=1D44E + b=1D44F + c=1D450 + d=1D451
    + e=1D452 + f=1D453 + g=1D454 + h=0210E + i=1D456 + j=1D457 + k=1D458 + l=1D459 + m=1D45A + n=1D45B
    + o=1D45C + p=1D45D + q=1D45E + r=1D45F + s=1D460 + t=1D461 + u=1D462 + v=1D463 + w=1D464 + x=1D465
    + y=1D466 + z=1D467 + ı=1D6A4 + ȷ=1D6A5 + Α=1D6E2 + Β=1D6E3 + Γ=1D6E4 + Δ=1D6E5 + Ε=1D6E6 + Ζ=1D6E7
    + Η=1D6E8 + Θ=1D6E9 + Ι=1D6EA + Κ=1D6EB + Λ=1D6EC + Μ=1D6ED + Ν=1D6EE + Ξ=1D6EF + Ο=1D6F0 + Π=1D6F1
    + Ρ=1D6F2 + ϴ=1D6F3 + Σ=1D6F4 + Τ=1D6F5 + Υ=1D6F6 + Φ=1D6F7 + Χ=1D6F8 + Ψ=1D6F9 + Ω=1D6FA + =1D6FB
    + α=1D6FC + β=1D6FD + γ=1D6FE + δ=1D6FF + ε=1D700 + ζ=1D701 + η=1D702 + θ=1D703 + ι=1D704 + κ=1D705
    + λ=1D706 + μ=1D707 + ν=1D708 + ξ=1D709 + ο=1D70A + π=1D70B + ρ=1D70C + ς=1D70D + σ=1D70E + τ=1D70F
    + υ=1D710 + φ=1D711 + χ=1D712 + ψ=1D713 + ω=1D714 + =1D715 + ϵ=1D716 + ϑ=1D717 + ϰ=1D718 + ϕ=1D719
    + ϱ=1D71A + ϖ=1D71B + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight-ref.html new file mode 100644 index 0000000000..c3e586f4dd --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight-ref.html @@ -0,0 +1,44 @@ + + + + + mathvariant attribute and font-style/font-weight (reference) + + + +

    This test passes if you see six lines of text (italic, italic, bold, bold, bold italic and bold italic) with the corresponding style applied:

    +

    + + italic + +

    +

    + + italic + +

    +

    + + bold + +

    +

    + + bold + +

    +

    + + bold italic + +

    +

    + + bold italic + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight.html b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight.html new file mode 100644 index 0000000000..793c687b09 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mathvariant-font-style-font-weight.html @@ -0,0 +1,49 @@ + + + + + mathvariant attribute and font-style/font-weight + + + + + + + + +

    This test passes if you see six lines of text (italic, italic, bold, bold, bold italic and bold italic) with the corresponding style applied:

    +

    + + italic + +

    +

    + + italic + +

    +

    + + bold + +

    +

    + + bold + +

    +

    + + bold italic + +

    +

    + + bold italic + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight-ref.html new file mode 100644 index 0000000000..63e6e2ba9c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight-ref.html @@ -0,0 +1,22 @@ + + + + + single-char mi and fontstyle/fontweight attributes (reference) + + + +

    Test passes if you see 𝜕 rendered twice, without any bold or italic style applied:

    +

    𝜕

    +

    𝜕

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight.html b/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight.html new file mode 100644 index 0000000000..b6dd05ea20 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/mi-fontstyle-fontweight.html @@ -0,0 +1,27 @@ + + + + + single-char mi and fontstyle/fontweight attributes + + + + + + + + +

    Test passes if you see 𝜕 rendered twice, without any bold or italic style applied:

    +

    +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/multi-column-layout.html b/testing/web-platform/tests/mathml/relations/css-styling/multi-column-layout.html new file mode 100644 index 0000000000..88db5047e9 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/multi-column-layout.html @@ -0,0 +1,56 @@ + + + + +MathML inside multi-column + + + + + + + + +
    +
    +
      +
    1. blah
    2. +
    3. + + + + + +
    4. +
    5. blah
    6. +
    7. blah
    8. +
    9. blah
    10. +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/not-participating-to-parent-layout.html b/testing/web-platform/tests/mathml/relations/css-styling/not-participating-to-parent-layout.html new file mode 100644 index 0000000000..0952679c62 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/not-participating-to-parent-layout.html @@ -0,0 +1,77 @@ + + + + +Elements not participating to the layout of their parent + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001-ref.html new file mode 100644 index 0000000000..447c5b722a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001-ref.html @@ -0,0 +1,18 @@ + + + + +Absolutely positioned (reference) + +

    Test passes if you see a green square and no red.

    +
    + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001.html b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001.html new file mode 100644 index 0000000000..9a7851ba23 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/absolutely-positioned-001.html @@ -0,0 +1,25 @@ + + + + +Absolutely positioned + + + + + +

    Test passes if you see a green square and no red.

    +
    + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers.html b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers.html new file mode 100644 index 0000000000..9069b92637 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers.html @@ -0,0 +1,103 @@ + + + + +absolutely positioned in all MathML elements + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001-ref.html new file mode 100644 index 0000000000..03b9f56698 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001-ref.html @@ -0,0 +1,28 @@ + + + + +Fixed positioned (reference) + + +
    + + + + + + + +

    Test passes if you see a green square and no red.

    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001.html b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001.html new file mode 100644 index 0000000000..994174162c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/out-of-flow/fixed-positioned-001.html @@ -0,0 +1,35 @@ + + + + +Fixed positioned + + + + + + +
    + + + + + + + + + + +

    Test passes if you see a green square and no red.

    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/overflow/computed-value-001.html b/testing/web-platform/tests/mathml/relations/css-styling/overflow/computed-value-001.html new file mode 100644 index 0000000000..0510f1da6d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/overflow/computed-value-001.html @@ -0,0 +1,45 @@ + + + + +overflow on MathML elements + + + + + + + + +
    +
    + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-001.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-001.html new file mode 100644 index 0000000000..fd86388ccd --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-001.html @@ -0,0 +1,179 @@ + + + + +border + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-002.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-002.html new file mode 100644 index 0000000000..bfb7f76adc --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/border-002.html @@ -0,0 +1,72 @@ + + + + +border + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-001.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-001.html new file mode 100644 index 0000000000..eabb6f46c7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-001.html @@ -0,0 +1,179 @@ + + + + +margin + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-002.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-002.html new file mode 100644 index 0000000000..b560ed125c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-002.html @@ -0,0 +1,86 @@ + + + + +margin + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-003.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-003.html new file mode 100644 index 0000000000..3b6b2a38db --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/margin-003.html @@ -0,0 +1,93 @@ + + + + +margin + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-001.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-001.html new file mode 100644 index 0000000000..b6d4901f36 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-001.html @@ -0,0 +1,179 @@ + + + + +padding + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-002.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-002.html new file mode 100644 index 0000000000..89d3bdc7ef --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-002.html @@ -0,0 +1,71 @@ + + + + +padding + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001-ref.html new file mode 100644 index 0000000000..150a650bc2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001-ref.html @@ -0,0 +1,17 @@ + + + + +Padding/border/margin + +

    This test passes if you see a purple square of side 100px, surrounded by a + 10px blue padding, surrounded by a 10px blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    + +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001.html new file mode 100644 index 0000000000..b0fb17c7d2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-001.html @@ -0,0 +1,22 @@ + + + + +Padding/border/margin + + + + + +

    This test passes if you see a purple square of side 100px, surrounded by a + 10px blue padding, surrounded by a 10px blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    +
    + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html new file mode 100644 index 0000000000..e13a9f47ff --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html @@ -0,0 +1,18 @@ + + + + +Padding/border/margin on largeop (reference) + +

    This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    + +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html new file mode 100644 index 0000000000..4559fc49ce --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html @@ -0,0 +1,34 @@ + + + + +Padding/border/margin on largeop + + + + + + + +

    This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    +
    + + ⫿ + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003-ref.html new file mode 100644 index 0000000000..275494ddd8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003-ref.html @@ -0,0 +1,18 @@ + + + + +Padding/border/margin on an operator, stretchy along the block axis (reference) + +

    This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    + +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003.html b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003.html new file mode 100644 index 0000000000..c54682f309 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-003.html @@ -0,0 +1,33 @@ + + + + +Padding/border/margin on an operator, stretchy along the block axis + + + + + + + +

    This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

    +
    + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001-ref.html new file mode 100644 index 0000000000..ca539440f8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001-ref.html @@ -0,0 +1,62 @@ + + + + +presentational hints + + + +

    dir: + + X + p + +

    +

    mathcolor: + + X + p + +

    +

    mathbackground: + + X + p +

    +

    mathsize: + + X + +

    +

    mathvariant: + + sin + +

    +

    displaystyle: + + + X + X + + +

    +

    scriptlevel: + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001.html b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001.html new file mode 100644 index 0000000000..96ee69541b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-001.html @@ -0,0 +1,63 @@ + + + + +presentational hints + + + + + + + + + + + + +

    dir: + + X + p + +

    +

    mathcolor: + + X + p + +

    +

    mathbackground: + + X + p +

    +

    mathsize: + + X + +

    +

    mathvariant: + + sin + +

    +

    displaystyle: + + + X + X + + +

    +

    scriptlevel: + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002-ref.html new file mode 100644 index 0000000000..fa22741efe --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002-ref.html @@ -0,0 +1,59 @@ + + + + +presentational hints (dynamic) + + + + +

    dir: + + X + p + +

    +

    mathcolor: + + X + p + +

    +

    mathbackground: + + X + p +

    +

    mathsize: + + X + +

    +

    mathvariant: + + X + +

    +

    displaystyle: + + + X + X + + +

    +

    scriptlevel: + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002.html b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002.html new file mode 100644 index 0000000000..8bb9153b86 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/presentational-hints-002.html @@ -0,0 +1,84 @@ + + + + +presentational hints (dynamic) + + + + + + + + + + + + + + +

    dir: + + X + p + +

    +

    mathcolor: + + X + p + +

    +

    mathbackground: + + X + p +

    +

    mathsize: + + X + +

    +

    mathvariant: + + X + +

    +

    displaystyle: + + + X + X + + +

    +

    scriptlevel: + + X + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/scriptlevel-001.html b/testing/web-platform/tests/mathml/relations/css-styling/scriptlevel-001.html new file mode 100644 index 0000000000..e9be1f2965 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/scriptlevel-001.html @@ -0,0 +1,219 @@ + + + + +Automatic scriptlevel + + + + + + + + + + + +
    +
    +

    + + + 0 + 1 + + + + + + 0 + 1 + + +

    +

    + + + 0 + 1 + + +

    +

    + + + 0 + 1 + + + + + 0 + 1 + + + + + 0 + 1 + 2 + + + + + 0 + 1 + + + + + 0 + 1 + + + + + 0 + 1 + 2 + + + + + 0 + 1 + 2 + 3 + 4 + + 6 + 7 + 8 + 9 + + +

    +

    + + + 0 + 1 + + + + + 0 + 1 + + + + + 0 + 1 + 2 + + + + + 0 + 1 + 2 + + +

    +

    + + + 0 + 1 + 2 + + +

    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/transform-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/transform-ref.html new file mode 100644 index 0000000000..005e8a7882 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/transform-ref.html @@ -0,0 +1,13 @@ + + + + +Transform property (reference) + + +

    Rectangles should be rotated.

    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/transform.html b/testing/web-platform/tests/mathml/relations/css-styling/transform.html new file mode 100644 index 0000000000..c45fda3469 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/transform.html @@ -0,0 +1,21 @@ + + + + +Transform property + + + + + +

    Rectangles should be rotated.

    +
    + +
    +
    + +
    + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-001-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-001-ref.html new file mode 100644 index 0000000000..fcaf5fe85b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-001-ref.html @@ -0,0 +1,12 @@ + + + + +visibility (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-001.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-001.html new file mode 100644 index 0000000000..56bf7b7da2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-001.html @@ -0,0 +1,34 @@ + + + + +visibility + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 2 + 3 + 4 + 5 +
    + 1 + 2 + 3 + 4 + 5 +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-002-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-002-ref.html new file mode 100644 index 0000000000..fcaf5fe85b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-002-ref.html @@ -0,0 +1,12 @@ + + + + +visibility (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-002.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-002.html new file mode 100644 index 0000000000..f92d0faf6d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-002.html @@ -0,0 +1,29 @@ + + + + +visibility + + + + + + + +

    Test passes if you see a green square.

    +
    + 12 +
    + 12 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-003-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-003-ref.html new file mode 100644 index 0000000000..fcaf5fe85b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-003-ref.html @@ -0,0 +1,12 @@ + + + + +visibility (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-003.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-003.html new file mode 100644 index 0000000000..4bf4d45c81 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-003.html @@ -0,0 +1,31 @@ + + + + +visibility + + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 23 +
    + 1 + 23 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative-ref.html new file mode 100644 index 0000000000..fcaf5fe85b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative-ref.html @@ -0,0 +1,12 @@ + + + + +visibility (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative.html new file mode 100644 index 0000000000..28678eaf0c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-004.tentative.html @@ -0,0 +1,55 @@ + + + + +visibility + + + + + + + +

    Test passes if you see a green square.

    +
    + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
    + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
    +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-005-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-005-ref.html new file mode 100644 index 0000000000..fcaf5fe85b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-005-ref.html @@ -0,0 +1,12 @@ + + + + +visibility (reference) + + +

    Test passes if you see a green square.

    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/visibility-005.html b/testing/web-platform/tests/mathml/relations/css-styling/visibility-005.html new file mode 100644 index 0000000000..a3af376fea --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/visibility-005.html @@ -0,0 +1,88 @@ + + + + +visibility + + + + + + + + +

    Test passes if you see a green square.

    +
    + + + + + + - + + + + + + + + + + + + + + + + + + + +
    + + + + + + - + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-001.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-001.html new file mode 100644 index 0000000000..2deedc3f0b --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-001.html @@ -0,0 +1,62 @@ + + + + +width, height, inline-size and block-size + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-002-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-002-ref.html new file mode 100644 index 0000000000..ed5125e952 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-002-ref.html @@ -0,0 +1,162 @@ + + + + +content position with width/height (reference) + + + + +
    +
    + + X + +
    +
    + + X + +
    +
    + +
    +
    + + + X + X + X + + +
    +
    + + + X + X + X + + +
    +
    + +
    +
    + + + X + X + X + + +
    +
    + + + X + X + X + + +
    +
    + +
    +
    + + + X + X + X + + +
    +
    + + + X + X + X + + +
    +
    + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + +
    +
    + + + X + + +
    +
    + + + X + + +
    +
    + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-002.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-002.html new file mode 100644 index 0000000000..99822c1ed9 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-002.html @@ -0,0 +1,135 @@ + + + + +content position with width/height + + + + + + + + + +
    + + X + + + X + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + + + + + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-003-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-003-ref.html new file mode 100644 index 0000000000..84eb2cd089 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-003-ref.html @@ -0,0 +1,178 @@ + + + + +content position with width/height (reference) + + + + + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + +
    +
    + + + X + X + X + + +
    +
    + + + X + X + X + + +
    +
    + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + +
    +
    + + + X + X + + +
    +
    + + + X + X + + +
    +
    + +
    +
    + + + X + X + X + + +
    +
    + + + X + X + X + + +
    +
    + +
    +
    + + + X + X + X + X + X + + X + X + + +
    +
    + + + X + X + X + X + X + + X + X + + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-003.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-003.html new file mode 100644 index 0000000000..05e00f4759 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-003.html @@ -0,0 +1,150 @@ + + + + +content position with width/height + + + + + + + + + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + +
    + + + X + X + X + X + X + + X + X + + + + + X + X + X + X + X + + X + X + + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/width-height-004.html b/testing/web-platform/tests/mathml/relations/css-styling/width-height-004.html new file mode 100644 index 0000000000..7133573b04 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/width-height-004.html @@ -0,0 +1,133 @@ + + + + +content position with width/height + + + + + + + + + + + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + + + + + X + X + + +
    + +
    + + + X + X + X + + + + + X + X + X + + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/force-horizontal-tb.html b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/force-horizontal-tb.html new file mode 100644 index 0000000000..e239cdca5a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/force-horizontal-tb.html @@ -0,0 +1,50 @@ + + + + +Forced writing-mode on MathML elements + + + + + + + + +
    +
    + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property-ref.html b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property-ref.html new file mode 100644 index 0000000000..6eae88efb1 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property-ref.html @@ -0,0 +1,15 @@ + + + + + Reset writing-mode and logical property (reference) + + +

    Test passes if you see a green square.

    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property.html b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property.html new file mode 100644 index 0000000000..939cfc5ba6 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/reset-and-logicial-property.html @@ -0,0 +1,20 @@ + + + + + Reset writing-mode and logical property + + + + + +

    Test passes if you see a green square.

    + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-001.html b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-001.html new file mode 100644 index 0000000000..b751caf90d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-001.html @@ -0,0 +1,69 @@ + + + + +writing mode + + + + + + + + + +
    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-002.html b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-002.html new file mode 100644 index 0000000000..c0b64a917a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/css-styling/writing-mode/writing-mode-002.html @@ -0,0 +1,82 @@ + + + + +writing mode + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/class-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/class-1-ref.html new file mode 100644 index 0000000000..5afa59ecf2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/class-1-ref.html @@ -0,0 +1,15 @@ + + + + +Class (reference) + + + +

    Test passes if you see the text "PASS".

    + + PASS + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/class-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/class-1.html new file mode 100644 index 0000000000..fd1678d440 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/class-1.html @@ -0,0 +1,24 @@ + + + + +Class + + + + + + + + +

    Test passes if you see the text "PASS".

    + + FAIL + PASS + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/class-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/class-2.html new file mode 100644 index 0000000000..e694b063a6 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/class-2.html @@ -0,0 +1,42 @@ + + + + +Class + + + + + + + + +
    + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html new file mode 100644 index 0000000000..bf2f8d11ed --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/clipboard-event-handlers.tentative.html @@ -0,0 +1,119 @@ + +clipboard event handlers for MathML + + + + + + + + + +
    + + E + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1-ref.html new file mode 100644 index 0000000000..71ee8cea9d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1-ref.html @@ -0,0 +1,26 @@ + + + + +Color Attributes (reference) + + + + +

    Test passes if you see the text below is written in white on a green + background.

    + +
    +
    + + Hello World! + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1.html new file mode 100644 index 0000000000..211bda7f85 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/color-attributes-1.html @@ -0,0 +1,38 @@ + + + + +Color Attributes + + + + + + + + +

    Test passes if you see the text below is written in white on a green + background.

    + +
    +
    + + Hello World! + +
    +
    + + Hello World! + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/content-editable.html b/testing/web-platform/tests/mathml/relations/html5-tree/content-editable.html new file mode 100644 index 0000000000..28e8630829 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/content-editable.html @@ -0,0 +1,51 @@ + + + + +MathML inside content-editable + + + + + + + + +
    +
    + This is + + + + + + + a content editable div +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html new file mode 100644 index 0000000000..19f3e6c82a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative-ref.html @@ -0,0 +1,18 @@ + + + + +MathML 'ElementCSSInlineStyle` Dynamic Tests + + + + This tests that `ElementCSSInlineStyle` interface changes update rendering. +
    + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html new file mode 100644 index 0000000000..5d27d6a7e6 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-dynamic.tentative.html @@ -0,0 +1,46 @@ + + + + + MathML 'ElementCSSInlineStyle` Dynamic Tests + + + + + + + + + This tests that `ElementCSSInlineStyle` interface changes update rendering. +
    + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-interface.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-interface.tentative.html new file mode 100644 index 0000000000..f8348c15b2 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/css-inline-style-interface.tentative.html @@ -0,0 +1,54 @@ + + + + + MathML 'ElementCSSInlineStyle` Mixin Tests + + + + + + + + + This tests the presence and functionality of features of the + `ElementCSSInlineStyle` interface for MathMLElements + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/display-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/display-1.html new file mode 100644 index 0000000000..fa92771fac --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/display-1.html @@ -0,0 +1,175 @@ + + + + +MathML display attribute + + + + + + + + + + + + +
    +
    + + + +
    + + + +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/display-2-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/display-2-ref.html new file mode 100644 index 0000000000..7864c04099 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/display-2-ref.html @@ -0,0 +1,31 @@ + + + + +display attribute VS legacy mode attribute (reference) + + +

    Test passes if you see four green squares, the last one + centered and the others left-aligned.

    +

    + + + +

    +

    + + + +

    +

    + + + +

    +

    + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/display-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/display-2.html new file mode 100644 index 0000000000..b4e79395a1 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/display-2.html @@ -0,0 +1,37 @@ + + + + +display attribute VS legacy mode attribute + + + + + + +

    Test passes if you see four green squares, the last one + centered and the others left-aligned.

    +

    + + + +

    +

    + + + +

    +

    + + + +

    +

    + + + +

    + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1-ref.html new file mode 100644 index 0000000000..5fa90e9d2f --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1-ref.html @@ -0,0 +1,16 @@ + + + + +Dynamic MathML DOM (reference) + + + +

    Test passes if you see the text "PASS".

    + + PASS + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1.html new file mode 100644 index 0000000000..59403196a8 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-1.html @@ -0,0 +1,30 @@ + + + + +Dynamic MathML DOM + + + + + + + +

    Test passes if you see the text "PASS".

    + + FAIL + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2-ref.html new file mode 100644 index 0000000000..272e8b33ca --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2-ref.html @@ -0,0 +1,16 @@ + + + + +Dynamic id and style (reference) + + + +

    Test passes if you see the text "PASS".

    + + PASS + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2.html new file mode 100644 index 0000000000..8ad47c5cd9 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-2.html @@ -0,0 +1,27 @@ + + + + +Dynamic id and style + + + + + + + +

    Test passes if you see the text "PASS".

    + + FAIL + PASS + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-001.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-001.html new file mode 100644 index 0000000000..ffd0ae239f --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-001.html @@ -0,0 +1,630 @@ + + + + +Dynamic childlist of MathML elements + + + + + + + + + + + + + + + + + +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + + +

    +
    +

    + + + + + + + + + + + + + + +

    +

    + + + + +

    +

    + + + + + + +

    +

    + + + + + + +

    +

    + + + + + + + +

    +
    +

    + + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + +

    +
    +

    + + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + +

    +
    +

    + + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + +

    +
    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    +

    + + + + +

    +

    + + + + + + + +

    +

    + + + + + + + +

    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-002.html b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-002.html new file mode 100644 index 0000000000..099401eacc --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/dynamic-childlist-002.html @@ -0,0 +1,119 @@ + + + + +Dynamic childlist of MathML elements + + + + + + + + + + + +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1-ref.html new file mode 100644 index 0000000000..86952567c7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1-ref.html @@ -0,0 +1,15 @@ + + + + +href click (reference) + + + +

    This test passes if you see a green square.

    + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1.html new file mode 100644 index 0000000000..c3e605cb72 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-1.html @@ -0,0 +1,36 @@ + + + + +href click + + + + + + + + +

    This test passes if you see a green square.

    + +
    + + + + + +
    + + + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2-ref.html new file mode 100644 index 0000000000..86952567c7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2-ref.html @@ -0,0 +1,15 @@ + + + + +href click (reference) + + + +

    This test passes if you see a green square.

    + +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2.html new file mode 100644 index 0000000000..8ffec61cc7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-2.html @@ -0,0 +1,40 @@ + + + + +href click + + + + + + + + +

    This test passes if you see a green square.

    + +
    + + + + + + + + + +
    + + + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/href-click-3.html b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-3.html new file mode 100644 index 0000000000..f6f1ada6d7 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/href-click-3.html @@ -0,0 +1,38 @@ + + + + +href click + + + + + + + + +

    To test manually, click the blue rectangle.

    +

    + + + + + +

    + DON'T CLICK ME + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative.html new file mode 100644 index 0000000000..028428cd75 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/html-or-foreign-element-interfaces.tentative.html @@ -0,0 +1,111 @@ + + + + + MathML 'HTMLOrForeignElement` Mixin Tests + + + + + + + + This tests the presence and functionality of features of + `HTMLOrForeignElement` (currently `HTMLOrSVGElement`) + + E + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1-ref.html new file mode 100644 index 0000000000..4987754967 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1-ref.html @@ -0,0 +1,13 @@ + + + + +MathML inside foreignObject (reference) + + +

    Test passes if there is a green square and no red.

    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1.html new file mode 100644 index 0000000000..bc725e9d19 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-1.html @@ -0,0 +1,25 @@ + + + + +MathML inside foreignObject + + + + + +

    Test passes if there is a green square and no red.

    +
    +
    +
    + + + +
    +
    +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2-ref.html new file mode 100644 index 0000000000..33c4b7e910 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2-ref.html @@ -0,0 +1,15 @@ + + + + +MathML as a phrasing content (reference) + + +

    Test passes if there is a green square and no red.

    + +
    +
    +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2.html new file mode 100644 index 0000000000..7e6c11a5ac --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-2.html @@ -0,0 +1,72 @@ + + + + +MathML as a phrasing content + + + + + + +

    Test passes if there is a green square and no red.

    + +
    + +
    +

    +

    +

    +
      +
    • +
    +
      +
    1. +
    +
    + + + + + + + +
    +
    +

    +

    +

    +
      +
    • +
    +
      +
    1. +
    +
    + + + + + + + +
    + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3-ref.html new file mode 100644 index 0000000000..8362ed28e3 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3-ref.html @@ -0,0 +1,17 @@ + + + + +phrasing content inside mtext (reference) + + +

    Test passes if there is a green square and no red.

    + +
    + +
    + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3.html new file mode 100644 index 0000000000..4c6f89ee93 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-3.html @@ -0,0 +1,63 @@ + + + + +phrasing content inside mtext + + + + + + +

    Test passes if there is a green square and no red.

    + +
    + +
    + + + + + + + + + + +
    +
    + + + + + + + + + + +
    + +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-4.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-4.html new file mode 100644 index 0000000000..c3bc95d1ef --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-4.html @@ -0,0 +1,59 @@ + + + + +MathML inside foreignObject + + + + + + + + +
    + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-5.html b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-5.html new file mode 100644 index 0000000000..b63ab7a63c --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/integration-point-5.html @@ -0,0 +1,57 @@ + + + + +MathML sibling of SVG with foreignObject[overflow=visible] + + + + + + + + + +
    + + + + + + + + +
    + This is a foreignObject +
    +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html b/testing/web-platform/tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html new file mode 100644 index 0000000000..b924eefa7d --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/math-global-event-handlers.tentative.html @@ -0,0 +1,155 @@ + +MathMLElement GlobalEventHandlers + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2-ref.html new file mode 100644 index 0000000000..dcc5b2b7d3 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2-ref.html @@ -0,0 +1,13 @@ + + + + +SVG requiredExtensions (reference) + + +

    Test passes if there is a green square and no red.

    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2.html new file mode 100644 index 0000000000..738f125507 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/required-extensions-2.html @@ -0,0 +1,23 @@ + + + + +SVG requiredExtensions + + + + + +

    Test passes if there is a green square and no red.

    + + + + +
    +
    + +
    +
    + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-001.html b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-001.html new file mode 100644 index 0000000000..3aaf0d955a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-001.html @@ -0,0 +1,58 @@ + + + + +MathML tabIndex attribute + + + + + + + + + +
    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-002.html b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-002.html new file mode 100644 index 0000000000..d2144e3d01 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/tabindex-002.html @@ -0,0 +1,71 @@ + + +MathML tabindex attribute + + + + + + + + +
    +tabindex(html,href) + + tabindex(omitted) + tabindex(empty) + tabindex(a) + tabindex(-1) + tabindex(0) + tabindex(href) + tabindex(3) + tabindex(2) + tabindex(2) + tabindex(2) + tabindex(1) + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html new file mode 100644 index 0000000000..6b3ab07f1a --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html @@ -0,0 +1,18 @@ + + + + +Unique Identifier (iframe) + + + +
    + FAIL +
    +
    + PASS +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html new file mode 100644 index 0000000000..ade0110a27 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html @@ -0,0 +1,15 @@ + + + + +Unique Identifier (iframe reference) + + + +
    + PASS +
    + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-ref.html new file mode 100644 index 0000000000..a219b2c870 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1-ref.html @@ -0,0 +1,16 @@ + + + + +Unique identifier (reference) + + + +

    Test passes if you see the text "PASS".

    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1.html new file mode 100644 index 0000000000..f5de2757c3 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-1.html @@ -0,0 +1,19 @@ + + + + +Unique identifier + + + + + + +

    Test passes if you see the text "PASS".

    + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-2.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-2.html new file mode 100644 index 0000000000..d4e69df324 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-2.html @@ -0,0 +1,30 @@ + + + + +Unique Identifier + + + + + + + + +
    + + + + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3-ref.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3-ref.html new file mode 100644 index 0000000000..ef056e0082 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3-ref.html @@ -0,0 +1,15 @@ + + + + +Unique identifier 3 (reference) + + + +

    Test passes if you see the text "PASS".

    + + PASS + + + + diff --git a/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3.html b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3.html new file mode 100644 index 0000000000..306ce41e25 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/html5-tree/unique-identifier-3.html @@ -0,0 +1,24 @@ + + + + +Unique Identifier + + + + + + + + +

    Test passes if you see the text "PASS".

    + + FAIL + PASS + + + + diff --git a/testing/web-platform/tests/mathml/relations/text-and-math/basic-mathematical-alphanumeric-symbols-with-default-font.html b/testing/web-platform/tests/mathml/relations/text-and-math/basic-mathematical-alphanumeric-symbols-with-default-font.html new file mode 100644 index 0000000000..c1e8d409b9 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/text-and-math/basic-mathematical-alphanumeric-symbols-with-default-font.html @@ -0,0 +1,39 @@ + + + + + Basic mathematical alphanumeric symbols with default font + + + + + + +
    +

    𝔩

    +

    +

    𝐖

    +

    𝑊

    +

    𝑾

    + + + diff --git a/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1-ref.html b/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1-ref.html new file mode 100644 index 0000000000..3f7f764045 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1-ref.html @@ -0,0 +1,19 @@ + + +Open Font Format: USE_TYPO_METRICS (reference) + + +

    Test passes if there is a green square and no red.

    + +
    +
    +
    + diff --git a/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1.html b/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1.html new file mode 100644 index 0000000000..1af8fdfde1 --- /dev/null +++ b/testing/web-platform/tests/mathml/relations/text-and-math/use-typo-metrics-1.html @@ -0,0 +1,51 @@ + + +Open Font Format: USE_TYPO_METRICS + + + + + +

    Test passes if there is a green square and no red.

    + +
    + +
    O
    +
    + + +
    +
    O
    +
    + diff --git a/testing/web-platform/tests/mathml/support/attribute-values.js b/testing/web-platform/tests/mathml/support/attribute-values.js new file mode 100644 index 0000000000..8408124f49 --- /dev/null +++ b/testing/web-platform/tests/mathml/support/attribute-values.js @@ -0,0 +1,31 @@ +AttributeValueTransforms = { + lowercase: function(value) { return value.toLowerCase(); }, + uppercase: function(value) { return value.toUpperCase(); }, + alternate_case: function(value) { + var transformedValue = ""; + for (var i = 0; i < value.length; i++) { + transformedValue += i % 2 ? + value.charAt(i).toLowerCase() : + value.charAt(i).toUpperCase(); + } + return transformedValue; + }, + // TODO: Should we perform this transform too? + // https://github.com/mathml-refresh/mathml/issues/122 + // add_leading_and_trimming_whitespace: function(value) { + // var space = "\0020\0009\000A\000D"; + // return `${space}${space}${value}${space}${space}`; + // }, +}; + +function TransformAttributeValues(transform, attributeNames) { + if (typeof attributeNames === "string") + attributeNames = [attributeNames]; + attributeNames.forEach(name => { + Array.from(document.querySelectorAll(`[${name}]`)).forEach(element => { + var value = element.getAttribute(name); + var transformedValue = AttributeValueTransforms[transform](value); + element.setAttribute(name, transformedValue); + }); + }); +} diff --git a/testing/web-platform/tests/mathml/support/box-comparison.js b/testing/web-platform/tests/mathml/support/box-comparison.js new file mode 100644 index 0000000000..b30ad279df --- /dev/null +++ b/testing/web-platform/tests/mathml/support/box-comparison.js @@ -0,0 +1,107 @@ +function spaceBetween(childBox, parentBox) { + return { + left: childBox.left - parentBox.left, + right: parentBox.right - childBox.right, + top: childBox.top - parentBox.top, + bottom: parentBox.bottom - childBox.bottom + }; +} + +function measureSpaceAround(id) { + var mrow = document.getElementById(id); + var mrowBox = mrow.getBoundingClientRect(); + var parentBox = mrow.parentNode.getBoundingClientRect(); + var childBox = mrow.firstElementChild.getBoundingClientRect(); + return spaceBetween(childBox, parentBox); +} + +function compareSpaceWithAndWithoutStyle(tag, style, parentStyle, direction) { + if (!FragmentHelper.isValidChildOfMrow(tag) || + FragmentHelper.isEmpty(tag)) + throw `Invalid argument: ${tag}`; + + if (!direction) + direction = "ltr"; + document.body.insertAdjacentHTML("beforeend", `
    \ +
    ${MathMLFragments[tag]}
    \ +
    ${MathMLFragments[tag]}
    \ +
    `); + var div = document.body.lastElementChild; + + var styleDiv = div.firstElementChild; + var styleMath = styleDiv.firstElementChild; + var styleParent = styleMath.firstElementChild; + if (parentStyle) + styleParent.setAttribute("style", parentStyle); + var styleElement = FragmentHelper.element(styleMath); + styleElement.setAttribute("style", style); + var styleChild = FragmentHelper.forceNonEmptyElement(styleElement); + var styleMathBox = styleMath.getBoundingClientRect(); + var styleElementBox = styleElement.getBoundingClientRect(); + var styleChildBox = styleChild.getBoundingClientRect(); + var styleSpace = spaceBetween(styleChildBox, styleMathBox); + + var noStyleDiv = div.lastElementChild; + var noStyleMath = noStyleDiv.firstElementChild; + var noStyleElement = FragmentHelper.element(noStyleMath); + var noStyleChild = FragmentHelper.forceNonEmptyElement(noStyleElement); + var noStyleMathBox = noStyleMath.getBoundingClientRect(); + var noStyleElementBox = noStyleElement.getBoundingClientRect(); + var noStyleChildBox = noStyleChild.getBoundingClientRect(); + var noStyleSpace = spaceBetween(noStyleChildBox, noStyleMathBox); + + var preferredWidthDelta = + styleDiv.getBoundingClientRect().width - + noStyleDiv.getBoundingClientRect().width; + + div.style = "display: none;"; // Hide the div after measurement. + + return { + preferred_width_delta: preferredWidthDelta, + left_delta: styleSpace.left - noStyleSpace.left, + right_delta: styleSpace.right - noStyleSpace.right, + top_delta: styleSpace.top - noStyleSpace.top, + bottom_delta: styleSpace.bottom - noStyleSpace.bottom, + element_width_delta: styleElementBox.width - noStyleElementBox.width, + element_height_delta: styleElementBox.height - noStyleElementBox.height + }; +} + +function compareSizeWithAndWithoutStyle(tag, style) { + if (!FragmentHelper.isValidChildOfMrow(tag)) + throw `Invalid argument: ${tag}`; + + // FIXME only needed as workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1658135 + document.body.insertAdjacentHTML("beforeend", `
    \ +
    ${MathMLFragments[tag]}
    \ +
    ${MathMLFragments[tag]}
    \ +
    `); + var div = document.body.lastElementChild; + + var styleDiv = div.firstElementChild; + var styleParent = styleDiv.firstElementChild.firstElementChild; + var styleElement = FragmentHelper.element(styleParent); + styleElement.setAttribute("style", style); + var styleParentBox = styleParent.getBoundingClientRect(); + var styleElementBox = styleElement.getBoundingClientRect(); + + var noStyleDiv = div.lastElementChild; + var noStyleParent = noStyleDiv.firstElementChild.firstElementChild; + var noStyleElement = FragmentHelper.element(noStyleParent); + var noStyleParentBox = noStyleParent.getBoundingClientRect(); + var noStyleElementBox = noStyleElement.getBoundingClientRect(); + + var preferredWidthDelta = + styleDiv.getBoundingClientRect().width - + noStyleDiv.getBoundingClientRect().width; + + div.style = "display: none;"; // Hide the div after measurement. + + return { + preferred_width_delta: preferredWidthDelta, + width_delta: styleParentBox.width - noStyleParentBox.width, + height_delta: styleParentBox.height - noStyleParentBox.height, + element_width_delta: styleElementBox.width - noStyleElementBox.width, + element_height_delta: styleElementBox.height - noStyleElementBox.height + }; +}; diff --git a/testing/web-platform/tests/mathml/support/box-navigation.js b/testing/web-platform/tests/mathml/support/box-navigation.js new file mode 100644 index 0000000000..f4897cfe99 --- /dev/null +++ b/testing/web-platform/tests/mathml/support/box-navigation.js @@ -0,0 +1,29 @@ +function IsInFlow(element) { + var style = window.getComputedStyle(element); + return style.getPropertyValue("display") !== "none" && + style.getPropertyValue("position") !== "absolute" && + style.getPropertyValue("position") !== "fixed"; +} + +function firstInFlowChild(element) { + var child = element.firstElementChild; + if (!child || IsInFlow(child)) + return child; + return nextInFlowSibling(child); +} + +function nextInFlowSibling(element) { + var child = element; + do { + child = child.nextElementSibling; + } while (child && !IsInFlow(child)); + return child; +} + +function previousInFlowSibling(element) { + var child = element; + do { + child = child.previousElementSibling; + } while (child && !IsInFlow(child)); + return child; +} diff --git a/testing/web-platform/tests/mathml/support/feature-detection-operators.js b/testing/web-platform/tests/mathml/support/feature-detection-operators.js new file mode 100644 index 0000000000..25dae40258 --- /dev/null +++ b/testing/web-platform/tests/mathml/support/feature-detection-operators.js @@ -0,0 +1,86 @@ +// This is a helper for MathML feature detection. +// It is indented to be used to prevent false negative test results. +// This adds operator-specific feature detections. + +Object.assign(MathMLFeatureDetection, { + "has_operator_lspace/rspace": async function() { + return this.has_operator_spacing(); + }, + + "has_operator_movablelimits": async function() { + return this.has_movablelimits(); + }, + + "has_operator_largeop": async function() { + if (!this.hasOwnProperty("_has_operator_largeop")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + ⫿\ + ⫿\ +"); + let font_face = new FontFace('HasOperatorLargeopTestFont', + 'url(/fonts/math/largeop-displayoperatorminheight5000.woff)'); + document.fonts.add(font_face); + await font_face.load(); + var math = document.body.lastElementChild; + var mo = math.getElementsByTagName("mo"); + this._has_operator_largeop = + (mo[1].getBoundingClientRect().height > + mo[0].getBoundingClientRect().height); + document.body.removeChild(math); + document.fonts.delete(font_face); + } + return this._has_operator_largeop; + }, + + "has_operator_stretchy": async function() { + if (!this.hasOwnProperty("_has_operator_stretchy")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + \ + ⫿\ + ⫿\ + \ + \ +"); + let font_face = new FontFace('HasOperatorLargeopTestFont', + 'url(/fonts/math/largeop-displayoperatorminheight5000.woff)'); + document.fonts.add(font_face); + await font_face.load(); + var math = document.body.lastElementChild; + var mo = math.getElementsByTagName("mo"); + this._has_operator_stretchy = + (mo[1].getBoundingClientRect().height > + mo[0].getBoundingClientRect().height); + document.body.removeChild(math); + document.fonts.delete(font_face); + } + return this._has_operator_stretchy; + }, + + "has_operator_symmetric": async function() { + if (!this.hasOwnProperty("_has_operator_symmetric")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + \ + ⫿\ + ⫿\ + \ + \ +"); + let font_face = new FontFace('HasOperatorLargeopTestFont', + 'url(/fonts/math/largeop-displayoperatorminheight5000.woff)'); + document.fonts.add(font_face); + await font_face.load(); + var math = document.body.lastElementChild; + var mo = math.getElementsByTagName("mo"); + this._has_operator_symmetric = + (mo[1].getBoundingClientRect().height > + mo[0].getBoundingClientRect().height); + document.body.removeChild(math); + document.fonts.delete(font_face); + } + return this._has_operator_symmetric; + }, +}); diff --git a/testing/web-platform/tests/mathml/support/feature-detection.js b/testing/web-platform/tests/mathml/support/feature-detection.js new file mode 100644 index 0000000000..8b3f227d44 --- /dev/null +++ b/testing/web-platform/tests/mathml/support/feature-detection.js @@ -0,0 +1,325 @@ +// This is a helper for MathML feature detection. +// It is indented to be used to prevent false negative test results. + +var MathMLFeatureDetection = { + + "has_annotation": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_annotation-xml": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_maction": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_math": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_menclose": function() { + // Just check whether is supported because discussion on this is + // still open ( https://github.com/mathml-refresh/mathml/issues/105 ) + // and it would have to behave at least like an mrow, even if it becomes + // an unknown element at the end. + return this.has_mrow(); + }, + + "has_merror": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mfrac": function() { + if (!this.hasOwnProperty("_has_mfrac")) { + // Use tall enough fraction to avoid side effect of min num/denum shifts. + document.body.insertAdjacentHTML("beforeend", "\ +\ + \ + \ +\ +\ + \ + \ +\ +"); + var math = document.body.lastElementChild; + var mfrac = math.getElementsByTagName("mfrac"); + // height/depth will add 40px per MathML, 20px if mfrac does not stack its children and none if mspace is not supported. + this._has_mfrac = + mfrac[1].getBoundingClientRect().height - + mfrac[0].getBoundingClientRect().height > 30; + document.body.removeChild(math); + } + return this._has_mfrac; + }, + + "has_mi": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mmultiscripts": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mn": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mo": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mover": function() { + // FIXME: Improve feature detection. + return this.has_munderover(); + }, + + "has_mpadded": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mphantom": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mprescripts": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mroot": function() { + // FIXME: Improve feature detection. + return this.has_msqrt(); + }, + + "has_mrow": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_ms": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mspace": function() { + // https://w3c.github.io/mathml-core/#space-mspace + if (!this.hasOwnProperty("_has_mspace")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ +\ +"); + var math = document.body.lastElementChild; + // The width attribute will add 20px per MathML and none if not supported. + this._has_mspace = + math.lastChild.getBoundingClientRect().width - + math.firstChild.getBoundingClientRect().width > 10; + document.body.removeChild(math); + } + return this._has_mspace; + }, + + "has_msqrt": function() { + if (!this.hasOwnProperty("_has_msqrt")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + A\ +\ +\ + A\ +\ +"); + var math = document.body.lastElementChild; + // The radical symbol will make msqrt wider than mrow, if the former is supported. + this._has_msqrt = + math.lastElementChild.getBoundingClientRect().width - + math.firstElementChild.getBoundingClientRect().width > 5; + document.body.removeChild(math); + } + return this._has_msqrt; + }, + + "has_mstyle": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_msub": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_msubsup": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_msup": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mtable": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mtd": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mtext": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_mtr": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_munder": function() { + // FIXME: Improve feature detection. + return this.has_munderover(); + }, + + "has_munderover": function() { + if (!this.hasOwnProperty("_has_munderover")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + \ + \ + \ +\ +\ + \ + \ + \ +\ +"); + var math = document.body.lastElementChild; + var munderover = math.getElementsByTagName("munderover"); + // width_delta will be 20px per MathML, 3 * 20 = 60px if mundeover does not stack its children and 0px if mspace is not supported. + var width_delta = + munderover[1].getBoundingClientRect().width - + munderover[0].getBoundingClientRect().width; + this._has_munderover = width_delta > 10 && width_delta < 30; + document.body.removeChild(math); + } + return this._has_munderover; + }, + + "has_none": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_semantics": function() { + // FIXME: Improve feature detection. + return this.has_mspace(); + }, + + "has_dir": function() { + if (!this.hasOwnProperty("_has_dir")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ +"); + var math = document.body.lastElementChild; + this._has_dir = + window.getComputedStyle(math.firstElementChild). + getPropertyValue('direction') === 'rtl'; + document.body.removeChild(math); + } + return this._has_dir; + }, + + "has_mathsize": function() { + if (!this.hasOwnProperty("_has_mathsize")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ +"); + var math = document.body.lastElementChild; + this._has_mathsize = + window.getComputedStyle(math.firstElementChild). + getPropertyValue('font-size') === '32px'; + document.body.removeChild(math); + } + return this._has_mathsize; + }, + + "has_movablelimits": function() { + if (!this.hasOwnProperty("_has_movablelimits")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + A\ + \ +\ +\ + A\ + \ +\ +"); + var math = document.body.lastElementChild; + var munder = math.getElementsByTagName("munder"); + // If movablelimits is supported, the will be placed next + // to rather than below it, so width_delta is about the width + // of the . + var width_delta = + munder[1].getBoundingClientRect().width - + munder[0].getBoundingClientRect().width; + this._has_movablelimits = this.has_munder() && width_delta > 20; + document.body.removeChild(math); + } + return this._has_movablelimits; + }, + + "has_operator_spacing": function() { + // https://w3c.github.io/mathml-core/#dfn-lspace + // https://w3c.github.io/mathml-core/#layout-of-mrow + if (!this.hasOwnProperty("_has_operator_spacing")) { + document.body.insertAdjacentHTML("beforeend", "\ +\ + 1+2\ +\ +\ + 1+2\ +\ +"); + var math = document.body.lastElementChild; + var mrow = math.getElementsByTagName("mrow"); + // lspace/rspace will add 40px per MathML and none if not supported. + this._has_operator_spacing = + mrow[1].getBoundingClientRect().width - + mrow[0].getBoundingClientRect().width > 30; + document.body.removeChild(math); + } + return this._has_operator_spacing; + }, + + ensure_for_match_reftest: function(has_function) { + if (!document.querySelector("link[rel='match']")) + throw "This function must only be used for match reftest"; + // Add a little red square at the top left corner if the feature is not supported in order to make match reftest fail. + if (!this[has_function]()) { + document.body.insertAdjacentHTML("beforeend", "\ +
    "); + } + } +}; diff --git a/testing/web-platform/tests/mathml/support/fonts.js b/testing/web-platform/tests/mathml/support/fonts.js new file mode 100644 index 0000000000..f05d7278ad --- /dev/null +++ b/testing/web-platform/tests/mathml/support/fonts.js @@ -0,0 +1,9 @@ +function loadAllFonts() { + // Use this to wait for all fonts in a testcase to load rather than just using + // `document.fonts.ready.then(...)` in the load event, since there are compat + // issues between browsers as to whether content initiated font loads are + // guaranteed to have been started by this point. + + // FIXME: Use Promise.all() to cause an obvious failure when a font fails to load. + return Promise.allSettled([...document.fonts].map(f => f.load())); +} diff --git a/testing/web-platform/tests/mathml/support/layout-comparison.js b/testing/web-platform/tests/mathml/support/layout-comparison.js new file mode 100644 index 0000000000..452b45006e --- /dev/null +++ b/testing/web-platform/tests/mathml/support/layout-comparison.js @@ -0,0 +1,112 @@ +function getWritingMode(element, reference) { + var style = window.getComputedStyle(reference); + if (style.getPropertyValue("writing-mode") !== "horizontal-tb" || + style.getPropertyValue("direction") !== "ltr") + throw "Reference should have writing mode horizontal-tb and ltr"; + + style = window.getComputedStyle(element); + var param = { + rtl: style.getPropertyValue("direction") === "rtl", + mode: style.getPropertyValue("writing-mode") + }; + + return param; +} + +function compareSize(element, reference, epsilon) { + var param = getWritingMode(element, reference); + var elementBox = element.getBoundingClientRect(); + var referenceBox = reference.getBoundingClientRect(); + + switch(param.mode) { + case "horizontal-tb": + assert_approx_equals(elementBox.width, referenceBox.width, epsilon, + "inline size"); + assert_approx_equals(elementBox.height, referenceBox.height, epsilon, + "block size"); + break; + case "vertical-lr": + case "vertical-rl": + assert_approx_equals(elementBox.width, referenceBox.height, epsilon, + "inline size"); + assert_approx_equals(elementBox.height, referenceBox.width, epsilon, + "block size"); + break; + default: + throw "compareSize: Unrecognized writing-mode value"; + } +} + +function childrenHaveEmptyBoundingClientRects(element) { + Array.from(element.children).forEach(child => { + var childBox = child.getBoundingClientRect(); + assert_true(childBox.left == 0 && childBox.right == 0 && childBox.top == 0 && childBox.bottom == 0); + }) +} + +function participateToParentLayout(child) { + var style = window.getComputedStyle(child); + return style.getPropertyValue("display") !== "none" && + style.getPropertyValue("position") !== "absolute" && + style.getPropertyValue("position") !== "fixed"; +} + +function childrenParticipatingToLayout(element) { + var children = []; + Array.from(element.children).forEach(child => { + if (participateToParentLayout(child)) + children.push(child); + }) + return children; +} + +function compareLayout(element, reference, epsilon) { + // Compare sizes of elements and children. + var param = getWritingMode(element, reference); + + compareSize(element, reference, epsilon); + var elementBox = element.getBoundingClientRect(); + var referenceBox = reference.getBoundingClientRect(); + + var elementChildren = childrenParticipatingToLayout(element); + var referenceChildren = childrenParticipatingToLayout(reference); + if (elementChildren.length != referenceChildren.length) + throw "Reference should have the same number of children participating to layout." + + for (var i = 0; i < elementChildren.length; i++) { + compareSize(elementChildren[i], referenceChildren[i], epsilon); + + var childBox = elementChildren[i].getBoundingClientRect(); + var referenceChildBox = referenceChildren[i].getBoundingClientRect(); + + switch(param.mode) { + case "horizontal-tb": + assert_approx_equals(param.rtl ? + elementBox.right - childBox.right : + childBox.left - elementBox.left, + referenceChildBox.left - referenceBox.left, + epsilon, + `inline position (child ${i})`); + assert_approx_equals(childBox.top - elementBox.top, + referenceChildBox.top - referenceBox.top, + epsilon, + `block position (child ${i})`); + break; + case "vertical-lr": + case "vertical-rl": + assert_approx_equals(param.rtl ? + elementBox.bottom - childBox.bottom : + childBox.top - elementBox.top, + referenceChildBox.left - referenceBox.left, + epsilon, + `inline position (child ${i})`); + assert_approx_equals(elementBox.right - childBox.right, + referenceChildBox.top - referenceBox.top, + epsilon, + `block position (child ${i})`); + break; + default: + throw "compareLayout: Unrecognized writing-mode value"; + } + } +} diff --git a/testing/web-platform/tests/mathml/support/mathml-fragments.js b/testing/web-platform/tests/mathml/support/mathml-fragments.js new file mode 100644 index 0000000000..7e2113e95b --- /dev/null +++ b/testing/web-platform/tests/mathml/support/mathml-fragments.js @@ -0,0 +1,189 @@ +var MathMLFragments = { + "annotation": "\ +\ + \ + \ +", + "annotation-xml": "\ +\ + \ + \ +", + "maction": "\ +\ + \ + \ +", + "menclose": "", + "merror": "", + "mfrac": "\ +\ + \ + \ +", + "mi": "", + "mmultiscripts": "\ +\ + \ + \ + \ +", + "mn": "", + "mo": "", + "mover": "\ +\ + \ + \ +", + "mpadded": "", + "mphantom": "", + "mprescripts": "\ +\ + \ + \ + \ + \ +", + "mroot": "\ +\ + \ + \ +", + "mrow": "", + "ms": "", + "mspace": "", + "msqrt": "", + "mstyle": "", + "msub": "\ +\ + \ + \ +", + "msubsup": "\ +\ + \ + \ + \ +", + "msup": "\ +\ + \ + \ +", + "mtable": "\ +\ + \ + \ + \ + \ +", + "mtd": "\ +\ + \ + \ + \ + \ +", + "mtext": "", + "mtr": "\ +\ + \ + \ + \ + \ +", + "munder": "\ +\ + \ + \ +", + "munderover": "\ +\ + \ + \ + \ +", + "none": "\ +\ + \ + \ + \ +", + "semantics": "\ +\ + \ + \ +" +}; + +var FragmentHelper = { + mathml_namespace: "http://www.w3.org/1998/Math/MathML", + + createElement: function(tag) { + return document.createElementNS(this.mathml_namespace, tag); + }, + + isValidChildOfMrow: function(tag) { + return !(tag == "annotation" || + tag == "annotation-xml" || + tag == "mprescripts" || + tag == "none" || + tag == "mtr" || + tag == "mtd"); + }, + + isTokenElement: function(tag) { + return (tag == "mi" || + tag == "mtext" || + tag == "mo" || + tag == "mn" || + tag == "ms") + }, + + isEmpty: function(tag) { + return tag === "mspace" || tag == "mprescripts" || tag == "none"; + }, + + element: function(fragment) { + return fragment.getElementsByClassName('element')[0]; + }, + + appendChild: function(fragment, allowInvalid) { + var element = this.element(fragment) || fragment; + if (element.classList.contains("foreign-container")) { + var el = document.createElement("span"); + el.textContent = "a"; + return element.appendChild(el); + } + if (element.classList.contains("mathml-container") || allowInvalid) { + var el = this.createElement("mi"); + el.textContent = "a"; + return element.appendChild(el); + } + throw "Cannot append child to the element"; + }, + + forceNonEmptyElement: function(fragment) { + var element = this.element(fragment) || fragment; + if (element.firstElementChild) + return element.firstElementChild; + return this.appendChild(fragment); + }, + + forceNonEmptyDescendants: function(fragment) { + var element = this.element(fragment) || fragment; + if (element.classList.contains("mathml-container") || + element.classList.contains("foreign-container")) { + for (var i = 0; i < 10; i++) + this.appendChild(element); + return; + } + var child = element.firstElementChild; + if (child) { + for (; child; child = child.nextElementSibling) { + this.forceNonEmptyDescendants(child); + } + return; + } + }, +} diff --git a/testing/web-platform/tests/mathml/support/operator-dictionary.js b/testing/web-platform/tests/mathml/support/operator-dictionary.js new file mode 100644 index 0000000000..ee1de102fe --- /dev/null +++ b/testing/web-platform/tests/mathml/support/operator-dictionary.js @@ -0,0 +1,42 @@ +async function fetchOperatorDictionary() { + let response = await fetch(`/mathml/support/operator-dictionary.json`); + return response.json(); +} + +function splitKey(key) { + var value = key.split(" ") + return { + characters: value[0], + form: value[1] + }; +} + +function spaceIndexToLength(index) { + // See https://w3c.github.io/mathml-core/#operator-dictionary + return ["0", + "0.05555555555555555em", + "0.1111111111111111em", + "0.16666666666666666em", + "0.2222222222222222em", + "0.2777777777777778em", + "0.3333333333333333em", + "0.3888888888888889em" + ][index]; +} + +function defaultPropertyValue(entry, name) { + switch (name) { + case "lspace": + case "rspace": + return spaceIndexToLength(entry.hasOwnProperty(name) ? entry[name] : 5); + break + case "largeop": + case "movablelimits": + case "stretchy": + case "symmetric": + case "accent": + return entry[name]; + default: + throw `Unknown property ${name}`; + } +} diff --git a/testing/web-platform/tests/mathml/support/operator-dictionary.json b/testing/web-platform/tests/mathml/support/operator-dictionary.json new file mode 100644 index 0000000000..0008f5114e --- /dev/null +++ b/testing/web-platform/tests/mathml/support/operator-dictionary.json @@ -0,0 +1 @@ +{"comment": "This file was automatically generated by operator-dictionary.py. Do not edit.", "dictionary": {"! postfix": {"lspace": 0, "rspace": 0}, "! prefix": {"lspace": 0, "rspace": 0}, "!! postfix": {"lspace": 0, "rspace": 0}, "!= infix": {"lspace": 5, "rspace": 5}, "\" postfix": {"lspace": 0, "rspace": 0}, "% infix": {"lspace": 3, "rspace": 3}, "% postfix": {"lspace": 0, "rspace": 0}, "& postfix": {"lspace": 0, "rspace": 0}, "&& infix": {"lspace": 4, "rspace": 4}, "' postfix": {"lspace": 0, "rspace": 0}, "( prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, ") postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "* infix": {"lspace": 3, "rspace": 3}, "** infix": {"lspace": 3, "rspace": 3}, "*= infix": {"lspace": 5, "rspace": 5}, "+ infix": {"lspace": 4, "rspace": 4}, "+ prefix": {"lspace": 0, "rspace": 0}, "++ postfix": {"lspace": 0, "rspace": 0}, "+= infix": {"lspace": 5, "rspace": 5}, ", infix": {"lspace": 0, "rspace": 3}, "- infix": {"lspace": 4, "rspace": 4}, "- prefix": {"lspace": 0, "rspace": 0}, "-- postfix": {"lspace": 0, "rspace": 0}, "-= infix": {"lspace": 5, "rspace": 5}, "-> infix": {"lspace": 5, "rspace": 5}, ". infix": {"lspace": 3, "rspace": 3}, "/ infix": {"lspace": 4, "rspace": 4}, "// infix": {"lspace": 5, "rspace": 5}, "/= infix": {"lspace": 5, "rspace": 5}, ": infix": {"lspace": 0, "rspace": 3}, ":= infix": {"lspace": 5, "rspace": 5}, "; infix": {"lspace": 0, "rspace": 3}, "< infix": {"lspace": 5, "rspace": 5}, "<= infix": {"lspace": 5, "rspace": 5}, "<> infix": {"lspace": 3, "rspace": 3}, "= infix": {"horizontal": true, "lspace": 5, "rspace": 5}, "== infix": {"lspace": 5, "rspace": 5}, "> infix": {"lspace": 5, "rspace": 5}, ">= infix": {"lspace": 5, "rspace": 5}, "? infix": {"lspace": 3, "rspace": 3}, "@ infix": {"lspace": 3, "rspace": 3}, "[ prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\\ infix": {"lspace": 0, "rspace": 0}, "] postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "^ infix": {"horizontal": true, "lspace": 3, "rspace": 3}, "^ postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "_ infix": {"horizontal": true, "lspace": 0, "rspace": 0}, "_ postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "` postfix": {"lspace": 0, "rspace": 0}, "{ prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "| infix": {"lspace": 5, "rspace": 5}, "| postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "| prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "|| infix": {"lspace": 5, "rspace": 5}, "|| postfix": {"lspace": 0, "rspace": 0}, "|| prefix": {"lspace": 0, "rspace": 0}, "} postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "~ postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u00a0 infix": {}, "\u00a0 prefix": {}, "\u00a0 suffix": {}, "\u00a8 postfix": {"lspace": 0, "rspace": 0}, "\u00ac prefix": {"lspace": 0, "rspace": 0}, "\u00af postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u00b0 postfix": {"lspace": 0, "rspace": 0}, "\u00b1 infix": {"lspace": 4, "rspace": 4}, "\u00b1 prefix": {"lspace": 0, "rspace": 0}, "\u00b2 postfix": {"lspace": 0, "rspace": 0}, "\u00b3 postfix": {"lspace": 0, "rspace": 0}, "\u00b4 postfix": {"lspace": 0, "rspace": 0}, "\u00b7 infix": {"lspace": 3, "rspace": 3}, "\u00b8 postfix": {"lspace": 0, "rspace": 0}, "\u00b9 postfix": {"lspace": 0, "rspace": 0}, "\u00d7 infix": {"lspace": 3, "rspace": 3}, "\u00f7 infix": {"lspace": 4, "rspace": 4}, "\u02c6 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u02c7 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u02c9 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u02ca postfix": {"lspace": 0, "rspace": 0}, "\u02cb postfix": {"lspace": 0, "rspace": 0}, "\u02cd postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u02d8 postfix": {"lspace": 0, "rspace": 0}, "\u02d9 postfix": {"lspace": 0, "rspace": 0}, "\u02da postfix": {"lspace": 0, "rspace": 0}, "\u02dc postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u02dd postfix": {"lspace": 0, "rspace": 0}, "\u02f7 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u0302 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u0311 postfix": {"lspace": 0, "rspace": 0}, "\u2016 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2016 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2018 prefix": {"lspace": 0, "rspace": 0}, "\u2019 postfix": {"lspace": 0, "rspace": 0}, "\u201a postfix": {"lspace": 0, "rspace": 0}, "\u201b postfix": {"lspace": 0, "rspace": 0}, "\u201c prefix": {"lspace": 0, "rspace": 0}, "\u201d postfix": {"lspace": 0, "rspace": 0}, "\u201e postfix": {"lspace": 0, "rspace": 0}, "\u201f postfix": {"lspace": 0, "rspace": 0}, "\u2022 infix": {"lspace": 3, "rspace": 3}, "\u2032 postfix": {"lspace": 0, "rspace": 0}, "\u2033 postfix": {"lspace": 0, "rspace": 0}, "\u2034 postfix": {"lspace": 0, "rspace": 0}, "\u2035 postfix": {"lspace": 0, "rspace": 0}, "\u2036 postfix": {"lspace": 0, "rspace": 0}, "\u2037 postfix": {"lspace": 0, "rspace": 0}, "\u203e postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u2043 infix": {"lspace": 3, "rspace": 3}, "\u2044 infix": {"lspace": 4, "rspace": 4}, "\u2057 postfix": {"lspace": 0, "rspace": 0}, "\u2061 infix": {"lspace": 0, "rspace": 0}, "\u2062 infix": {"lspace": 0, "rspace": 0}, "\u2063 infix": {"lspace": 0, "rspace": 0}, "\u2064 infix": {"lspace": 0, "rspace": 0}, "\u20db postfix": {"lspace": 0, "rspace": 0}, "\u20dc postfix": {"lspace": 0, "rspace": 0}, "\u2145 prefix": {"lspace": 3, "rspace": 0}, "\u2146 prefix": {"lspace": 3, "rspace": 0}, "\u2190 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2191 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2192 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2193 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2194 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2195 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2196 infix": {"lspace": 5, "rspace": 5}, "\u2197 infix": {"lspace": 5, "rspace": 5}, "\u2198 infix": {"horizontal": true, "lspace": 5, "rspace": 5}, "\u2199 infix": {"horizontal": true, "lspace": 5, "rspace": 5}, "\u219a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u219b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u219c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u219d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u219e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u219f infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21a0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21a1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21a2 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21a3 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21a4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21a5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21a6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21a7 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21a8 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21a9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21aa infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ab infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ac infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ad infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ae infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21af infix": {"lspace": 5, "rspace": 5}, "\u21b0 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21b1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21b2 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21b3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21b4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21b5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21b6 infix": {"lspace": 5, "rspace": 5}, "\u21b7 infix": {"lspace": 5, "rspace": 5}, "\u21b8 infix": {"lspace": 5, "rspace": 5}, "\u21b9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ba infix": {"lspace": 5, "rspace": 5}, "\u21bb infix": {"lspace": 5, "rspace": 5}, "\u21bc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21bd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21be infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21bf infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21c0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21c1 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21c2 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21c3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21c4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21c5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21c6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21c7 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21c8 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21c9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ca infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21cb infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21cc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21cd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ce infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21cf infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21d0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21d1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21d2 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21d3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21d4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21d5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21d6 infix": {"lspace": 5, "rspace": 5}, "\u21d7 infix": {"lspace": 5, "rspace": 5}, "\u21d8 infix": {"lspace": 5, "rspace": 5}, "\u21d9 infix": {"lspace": 5, "rspace": 5}, "\u21da infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21db infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21dc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21dd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21de infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21df infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21e0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21e2 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21e4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e5 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e7 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21e8 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21e9 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21ea infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21eb infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21ec infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21ed infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21ee infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21ef infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21f0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21f1 infix": {"lspace": 5, "rspace": 5}, "\u21f2 infix": {"lspace": 5, "rspace": 5}, "\u21f3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21f4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21f5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u21f6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21f7 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21f8 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21f9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21fa infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21fb infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21fc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21fd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21fe infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u21ff infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2200 prefix": {"lspace": 0, "rspace": 0}, "\u2201 prefix": {"lspace": 0, "rspace": 0}, "\u2202 prefix": {"lspace": 3, "rspace": 0}, "\u2203 prefix": {"lspace": 0, "rspace": 0}, "\u2204 prefix": {"lspace": 0, "rspace": 0}, "\u2206 infix": {"lspace": 0, "rspace": 0}, "\u2207 prefix": {"lspace": 0, "rspace": 0}, "\u2208 infix": {"lspace": 5, "rspace": 5}, "\u2209 infix": {"lspace": 5, "rspace": 5}, "\u220a infix": {"lspace": 5, "rspace": 5}, "\u220b infix": {"lspace": 5, "rspace": 5}, "\u220c infix": {"lspace": 5, "rspace": 5}, "\u220d infix": {"lspace": 5, "rspace": 5}, "\u220f prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2210 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2211 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2212 infix": {"lspace": 4, "rspace": 4}, "\u2212 prefix": {"lspace": 0, "rspace": 0}, "\u2213 infix": {"lspace": 4, "rspace": 4}, "\u2213 prefix": {"lspace": 0, "rspace": 0}, "\u2214 infix": {"lspace": 4, "rspace": 4}, "\u2215 infix": {"lspace": 4, "rspace": 4}, "\u2216 infix": {"lspace": 4, "rspace": 4}, "\u2217 infix": {"lspace": 3, "rspace": 3}, "\u2218 infix": {"lspace": 3, "rspace": 3}, "\u2219 infix": {"lspace": 3, "rspace": 3}, "\u221a prefix": {"lspace": 3, "rspace": 0}, "\u221b prefix": {"lspace": 3, "rspace": 0}, "\u221c prefix": {"lspace": 3, "rspace": 0}, "\u221d infix": {"lspace": 5, "rspace": 5}, "\u221f prefix": {"lspace": 0, "rspace": 0}, "\u2220 prefix": {"lspace": 0, "rspace": 0}, "\u2221 prefix": {"lspace": 0, "rspace": 0}, "\u2222 prefix": {"lspace": 0, "rspace": 0}, "\u2223 infix": {"lspace": 5, "rspace": 5}, "\u2224 infix": {"lspace": 5, "rspace": 5}, "\u2225 infix": {"lspace": 5, "rspace": 5}, "\u2226 infix": {"lspace": 5, "rspace": 5}, "\u2227 infix": {"lspace": 4, "rspace": 4}, "\u2228 infix": {"lspace": 4, "rspace": 4}, "\u2229 infix": {"lspace": 4, "rspace": 4}, "\u222a infix": {"lspace": 4, "rspace": 4}, "\u222b prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u222c prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u222d prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u222e prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u222f prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2230 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2231 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2232 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2233 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2234 prefix": {"lspace": 0, "rspace": 0}, "\u2235 prefix": {"lspace": 0, "rspace": 0}, "\u2236 infix": {"lspace": 4, "rspace": 4}, "\u2237 infix": {"lspace": 5, "rspace": 5}, "\u2238 infix": {"lspace": 4, "rspace": 4}, "\u2239 infix": {"lspace": 5, "rspace": 5}, "\u223a infix": {"lspace": 5, "rspace": 5}, "\u223b infix": {"lspace": 5, "rspace": 5}, "\u223c infix": {"lspace": 5, "rspace": 5}, "\u223c prefix": {"lspace": 0, "rspace": 0}, "\u223d infix": {"lspace": 5, "rspace": 5}, "\u223e infix": {"lspace": 5, "rspace": 5}, "\u2240 infix": {"lspace": 3, "rspace": 3}, "\u2241 infix": {"lspace": 5, "rspace": 5}, "\u2242 infix": {"lspace": 5, "rspace": 5}, "\u2243 infix": {"lspace": 5, "rspace": 5}, "\u2244 infix": {"lspace": 5, "rspace": 5}, "\u2245 infix": {"lspace": 5, "rspace": 5}, "\u2246 infix": {"lspace": 5, "rspace": 5}, "\u2247 infix": {"lspace": 5, "rspace": 5}, "\u2248 infix": {"lspace": 5, "rspace": 5}, "\u2249 infix": {"lspace": 5, "rspace": 5}, "\u224a infix": {"lspace": 5, "rspace": 5}, "\u224b infix": {"lspace": 5, "rspace": 5}, "\u224c infix": {"lspace": 5, "rspace": 5}, "\u224d infix": {"lspace": 5, "rspace": 5}, "\u224e infix": {"lspace": 5, "rspace": 5}, "\u224f infix": {"lspace": 5, "rspace": 5}, "\u2250 infix": {"lspace": 5, "rspace": 5}, "\u2251 infix": {"lspace": 5, "rspace": 5}, "\u2252 infix": {"lspace": 5, "rspace": 5}, "\u2253 infix": {"lspace": 5, "rspace": 5}, "\u2254 infix": {"lspace": 5, "rspace": 5}, "\u2255 infix": {"lspace": 5, "rspace": 5}, "\u2256 infix": {"lspace": 5, "rspace": 5}, "\u2257 infix": {"lspace": 5, "rspace": 5}, "\u2258 infix": {"lspace": 5, "rspace": 5}, "\u2259 infix": {"lspace": 5, "rspace": 5}, "\u225a infix": {"lspace": 5, "rspace": 5}, "\u225b infix": {"lspace": 5, "rspace": 5}, "\u225c infix": {"lspace": 5, "rspace": 5}, "\u225d infix": {"lspace": 5, "rspace": 5}, "\u225e infix": {"lspace": 5, "rspace": 5}, "\u225f infix": {"lspace": 5, "rspace": 5}, "\u2260 infix": {"lspace": 5, "rspace": 5}, "\u2261 infix": {"lspace": 5, "rspace": 5}, "\u2262 infix": {"lspace": 5, "rspace": 5}, "\u2263 infix": {"lspace": 5, "rspace": 5}, "\u2264 infix": {"lspace": 5, "rspace": 5}, "\u2265 infix": {"lspace": 5, "rspace": 5}, "\u2266 infix": {"lspace": 5, "rspace": 5}, "\u2267 infix": {"lspace": 5, "rspace": 5}, "\u2268 infix": {"lspace": 5, "rspace": 5}, "\u2269 infix": {"lspace": 5, "rspace": 5}, "\u226a infix": {"lspace": 5, "rspace": 5}, "\u226b infix": {"lspace": 5, "rspace": 5}, "\u226c infix": {"lspace": 5, "rspace": 5}, "\u226d infix": {"lspace": 5, "rspace": 5}, "\u226e infix": {"lspace": 5, "rspace": 5}, "\u226f infix": {"lspace": 5, "rspace": 5}, "\u2270 infix": {"lspace": 5, "rspace": 5}, "\u2271 infix": {"lspace": 5, "rspace": 5}, "\u2272 infix": {"lspace": 5, "rspace": 5}, "\u2273 infix": {"lspace": 5, "rspace": 5}, "\u2274 infix": {"lspace": 5, "rspace": 5}, "\u2275 infix": {"lspace": 5, "rspace": 5}, "\u2276 infix": {"lspace": 5, "rspace": 5}, "\u2277 infix": {"lspace": 5, "rspace": 5}, "\u2278 infix": {"lspace": 5, "rspace": 5}, "\u2279 infix": {"lspace": 5, "rspace": 5}, "\u227a infix": {"lspace": 5, "rspace": 5}, "\u227b infix": {"lspace": 5, "rspace": 5}, "\u227c infix": {"lspace": 5, "rspace": 5}, "\u227d infix": {"lspace": 5, "rspace": 5}, "\u227e infix": {"lspace": 5, "rspace": 5}, "\u227f infix": {"lspace": 5, "rspace": 5}, "\u2280 infix": {"lspace": 5, "rspace": 5}, "\u2281 infix": {"lspace": 5, "rspace": 5}, "\u2282 infix": {"lspace": 5, "rspace": 5}, "\u2283 infix": {"lspace": 5, "rspace": 5}, "\u2284 infix": {"lspace": 5, "rspace": 5}, "\u2285 infix": {"lspace": 5, "rspace": 5}, "\u2286 infix": {"lspace": 5, "rspace": 5}, "\u2287 infix": {"lspace": 5, "rspace": 5}, "\u2288 infix": {"lspace": 5, "rspace": 5}, "\u2289 infix": {"lspace": 5, "rspace": 5}, "\u228a infix": {"lspace": 5, "rspace": 5}, "\u228b infix": {"lspace": 5, "rspace": 5}, "\u228c infix": {"lspace": 4, "rspace": 4}, "\u228d infix": {"lspace": 4, "rspace": 4}, "\u228e infix": {"lspace": 4, "rspace": 4}, "\u228f infix": {"lspace": 5, "rspace": 5}, "\u2290 infix": {"lspace": 5, "rspace": 5}, "\u2291 infix": {"lspace": 5, "rspace": 5}, "\u2292 infix": {"lspace": 5, "rspace": 5}, "\u2293 infix": {"lspace": 4, "rspace": 4}, "\u2294 infix": {"lspace": 4, "rspace": 4}, "\u2295 infix": {"lspace": 4, "rspace": 4}, "\u2296 infix": {"lspace": 4, "rspace": 4}, "\u2297 infix": {"lspace": 3, "rspace": 3}, "\u2298 infix": {"lspace": 4, "rspace": 4}, "\u2299 infix": {"lspace": 3, "rspace": 3}, "\u229a infix": {"lspace": 3, "rspace": 3}, "\u229b infix": {"lspace": 3, "rspace": 3}, "\u229c infix": {"lspace": 5, "rspace": 5}, "\u229d infix": {"lspace": 4, "rspace": 4}, "\u229e infix": {"lspace": 4, "rspace": 4}, "\u229f infix": {"lspace": 4, "rspace": 4}, "\u22a0 infix": {"lspace": 3, "rspace": 3}, "\u22a1 infix": {"lspace": 3, "rspace": 3}, "\u22a2 infix": {"lspace": 5, "rspace": 5}, "\u22a3 infix": {"lspace": 5, "rspace": 5}, "\u22a6 infix": {"lspace": 5, "rspace": 5}, "\u22a7 infix": {"lspace": 5, "rspace": 5}, "\u22a8 infix": {"lspace": 5, "rspace": 5}, "\u22a9 infix": {"lspace": 5, "rspace": 5}, "\u22aa infix": {"lspace": 5, "rspace": 5}, "\u22ab infix": {"lspace": 5, "rspace": 5}, "\u22ac infix": {"lspace": 5, "rspace": 5}, "\u22ad infix": {"lspace": 5, "rspace": 5}, "\u22ae infix": {"lspace": 5, "rspace": 5}, "\u22af infix": {"lspace": 5, "rspace": 5}, "\u22b0 infix": {"lspace": 5, "rspace": 5}, "\u22b1 infix": {"lspace": 5, "rspace": 5}, "\u22b2 infix": {"lspace": 5, "rspace": 5}, "\u22b3 infix": {"lspace": 5, "rspace": 5}, "\u22b4 infix": {"lspace": 5, "rspace": 5}, "\u22b5 infix": {"lspace": 5, "rspace": 5}, "\u22b6 infix": {"lspace": 5, "rspace": 5}, "\u22b7 infix": {"lspace": 5, "rspace": 5}, "\u22b8 infix": {"lspace": 5, "rspace": 5}, "\u22ba infix": {"lspace": 3, "rspace": 3}, "\u22bb infix": {"lspace": 4, "rspace": 4}, "\u22bc infix": {"lspace": 4, "rspace": 4}, "\u22bd infix": {"lspace": 4, "rspace": 4}, "\u22be prefix": {"lspace": 0, "rspace": 0}, "\u22bf prefix": {"lspace": 0, "rspace": 0}, "\u22c0 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u22c1 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u22c2 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u22c3 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u22c4 infix": {"lspace": 3, "rspace": 3}, "\u22c5 infix": {"lspace": 3, "rspace": 3}, "\u22c6 infix": {"lspace": 3, "rspace": 3}, "\u22c7 infix": {"lspace": 3, "rspace": 3}, "\u22c8 infix": {"lspace": 5, "rspace": 5}, "\u22c9 infix": {"lspace": 3, "rspace": 3}, "\u22ca infix": {"lspace": 3, "rspace": 3}, "\u22cb infix": {"lspace": 3, "rspace": 3}, "\u22cc infix": {"lspace": 3, "rspace": 3}, "\u22cd infix": {"lspace": 5, "rspace": 5}, "\u22ce infix": {"lspace": 4, "rspace": 4}, "\u22cf infix": {"lspace": 4, "rspace": 4}, "\u22d0 infix": {"lspace": 5, "rspace": 5}, "\u22d1 infix": {"lspace": 5, "rspace": 5}, "\u22d2 infix": {"lspace": 4, "rspace": 4}, "\u22d3 infix": {"lspace": 4, "rspace": 4}, "\u22d4 infix": {"lspace": 5, "rspace": 5}, "\u22d5 infix": {"lspace": 5, "rspace": 5}, "\u22d6 infix": {"lspace": 5, "rspace": 5}, "\u22d7 infix": {"lspace": 5, "rspace": 5}, "\u22d8 infix": {"lspace": 5, "rspace": 5}, "\u22d9 infix": {"lspace": 5, "rspace": 5}, "\u22da infix": {"lspace": 5, "rspace": 5}, "\u22db infix": {"lspace": 5, "rspace": 5}, "\u22dc infix": {"lspace": 5, "rspace": 5}, "\u22dd infix": {"lspace": 5, "rspace": 5}, "\u22de infix": {"lspace": 5, "rspace": 5}, "\u22df infix": {"lspace": 5, "rspace": 5}, "\u22e0 infix": {"lspace": 5, "rspace": 5}, "\u22e1 infix": {"lspace": 5, "rspace": 5}, "\u22e2 infix": {"lspace": 5, "rspace": 5}, "\u22e3 infix": {"lspace": 5, "rspace": 5}, "\u22e4 infix": {"lspace": 5, "rspace": 5}, "\u22e5 infix": {"lspace": 5, "rspace": 5}, "\u22e6 infix": {"lspace": 5, "rspace": 5}, "\u22e7 infix": {"lspace": 5, "rspace": 5}, "\u22e8 infix": {"lspace": 5, "rspace": 5}, "\u22e9 infix": {"lspace": 5, "rspace": 5}, "\u22ea infix": {"lspace": 5, "rspace": 5}, "\u22eb infix": {"lspace": 5, "rspace": 5}, "\u22ec infix": {"lspace": 5, "rspace": 5}, "\u22ed infix": {"lspace": 5, "rspace": 5}, "\u22f2 infix": {"lspace": 5, "rspace": 5}, "\u22f3 infix": {"lspace": 5, "rspace": 5}, "\u22f4 infix": {"lspace": 5, "rspace": 5}, "\u22f5 infix": {"lspace": 5, "rspace": 5}, "\u22f6 infix": {"lspace": 5, "rspace": 5}, "\u22f7 infix": {"lspace": 5, "rspace": 5}, "\u22f8 infix": {"lspace": 5, "rspace": 5}, "\u22f9 infix": {"lspace": 5, "rspace": 5}, "\u22fa infix": {"lspace": 5, "rspace": 5}, "\u22fb infix": {"lspace": 5, "rspace": 5}, "\u22fc infix": {"lspace": 5, "rspace": 5}, "\u22fd infix": {"lspace": 5, "rspace": 5}, "\u22fe infix": {"lspace": 5, "rspace": 5}, "\u22ff infix": {"lspace": 5, "rspace": 5}, "\u2301 infix": {"lspace": 5, "rspace": 5}, "\u2305 infix": {"lspace": 3, "rspace": 3}, "\u2306 infix": {"lspace": 3, "rspace": 3}, "\u2308 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2309 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u230a prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u230b postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2310 prefix": {"lspace": 0, "rspace": 0}, "\u2319 prefix": {"lspace": 0, "rspace": 0}, "\u2322 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u2323 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u2329 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u232a postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u237c infix": {"lspace": 5, "rspace": 5}, "\u238b infix": {"lspace": 5, "rspace": 5}, "\u23b4 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23b5 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23cd postfix": {"lspace": 0, "rspace": 0}, "\u23dc postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23dd postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23de postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23df postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23e0 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u23e1 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\u2772 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2773 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2794 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2795 infix": {"lspace": 4, "rspace": 4}, "\u2795 prefix": {"lspace": 0, "rspace": 0}, "\u2796 infix": {"lspace": 4, "rspace": 4}, "\u2796 prefix": {"lspace": 0, "rspace": 0}, "\u2797 infix": {"lspace": 4, "rspace": 4}, "\u2798 infix": {"lspace": 5, "rspace": 5}, "\u2799 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u279a infix": {"lspace": 5, "rspace": 5}, "\u279b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u279c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u279d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u279e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u279f infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a0 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a1 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a5 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a7 infix": {"lspace": 5, "rspace": 5}, "\u27a8 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27a9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27aa infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27ab infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27ac infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27ad infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27ae infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27af infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27b1 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27b2 infix": {"lspace": 5, "rspace": 5}, "\u27b3 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27b4 infix": {"lspace": 5, "rspace": 5}, "\u27b5 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27b6 infix": {"lspace": 5, "rspace": 5}, "\u27b7 infix": {"lspace": 5, "rspace": 5}, "\u27b8 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27b9 infix": {"lspace": 5, "rspace": 5}, "\u27ba infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27bb infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27bc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27bd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27be infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27c0 prefix": {"lspace": 0, "rspace": 0}, "\u27c2 infix": {"lspace": 5, "rspace": 5}, "\u27cb infix": {"lspace": 3, "rspace": 3}, "\u27cd infix": {"lspace": 3, "rspace": 3}, "\u27e6 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27e7 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27e8 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27e9 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27ea prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27eb postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27ec prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27ed postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27ee prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27ef postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u27f0 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u27f1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u27f2 infix": {"lspace": 5, "rspace": 5}, "\u27f3 infix": {"lspace": 5, "rspace": 5}, "\u27f4 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27f5 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27f6 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27f7 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27f8 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27f9 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27fa infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27fb infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27fc infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27fd infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27fe infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u27ff infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2900 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2901 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2902 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2903 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2904 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2905 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2906 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2907 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2908 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2909 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u290a infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u290b infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u290c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u290d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u290e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u290f infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2910 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2911 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2912 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2913 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2914 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2915 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2916 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2917 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2918 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2919 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u291f infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2920 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2921 infix": {"lspace": 5, "rspace": 5}, "\u2922 infix": {"lspace": 5, "rspace": 5}, "\u2923 infix": {"lspace": 5, "rspace": 5}, "\u2924 infix": {"lspace": 5, "rspace": 5}, "\u2925 infix": {"lspace": 5, "rspace": 5}, "\u2926 infix": {"lspace": 5, "rspace": 5}, "\u2927 infix": {"lspace": 5, "rspace": 5}, "\u2928 infix": {"lspace": 5, "rspace": 5}, "\u2929 infix": {"lspace": 5, "rspace": 5}, "\u292a infix": {"lspace": 5, "rspace": 5}, "\u292b infix": {"lspace": 5, "rspace": 5}, "\u292c infix": {"lspace": 5, "rspace": 5}, "\u292d infix": {"lspace": 5, "rspace": 5}, "\u292e infix": {"lspace": 5, "rspace": 5}, "\u292f infix": {"lspace": 5, "rspace": 5}, "\u2930 infix": {"lspace": 5, "rspace": 5}, "\u2931 infix": {"lspace": 5, "rspace": 5}, "\u2932 infix": {"lspace": 5, "rspace": 5}, "\u2933 infix": {"lspace": 5, "rspace": 5}, "\u2934 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2935 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2936 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2937 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2938 infix": {"lspace": 5, "rspace": 5}, "\u2939 infix": {"lspace": 5, "rspace": 5}, "\u293a infix": {"lspace": 5, "rspace": 5}, "\u293b infix": {"lspace": 5, "rspace": 5}, "\u293c infix": {"lspace": 5, "rspace": 5}, "\u293d infix": {"lspace": 5, "rspace": 5}, "\u293e infix": {"lspace": 5, "rspace": 5}, "\u293f infix": {"lspace": 5, "rspace": 5}, "\u2940 infix": {"lspace": 5, "rspace": 5}, "\u2941 infix": {"lspace": 5, "rspace": 5}, "\u2942 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2943 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2944 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2945 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2946 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2947 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2948 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2949 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u294a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u294b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u294c infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u294d infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u294e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u294f infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2950 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2951 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2952 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2953 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2954 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2955 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2956 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2957 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2958 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2959 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u295a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u295b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u295c infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u295d infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u295e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u295f infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2960 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2961 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2962 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2963 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2964 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2965 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2966 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2967 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2968 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2969 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u296a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u296b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u296c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u296d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u296e infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u296f infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2970 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2971 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2972 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2973 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2974 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2975 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2976 infix": {"lspace": 5, "rspace": 5}, "\u2977 infix": {"lspace": 5, "rspace": 5}, "\u2978 infix": {"lspace": 5, "rspace": 5}, "\u2979 infix": {"lspace": 5, "rspace": 5}, "\u297a infix": {"lspace": 5, "rspace": 5}, "\u297b infix": {"lspace": 5, "rspace": 5}, "\u297c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u297d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u297e infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u297f infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2980 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2980 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2981 infix": {"lspace": 5, "rspace": 5}, "\u2982 infix": {"lspace": 5, "rspace": 5}, "\u2983 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2984 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2985 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2986 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2987 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2988 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2989 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298a postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298b prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298c postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298d prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298e postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u298f prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2990 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2991 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2992 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2993 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2994 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2995 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2996 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2997 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2998 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2999 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2999 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u299b prefix": {"lspace": 0, "rspace": 0}, "\u299c prefix": {"lspace": 0, "rspace": 0}, "\u299d prefix": {"lspace": 0, "rspace": 0}, "\u299e prefix": {"lspace": 0, "rspace": 0}, "\u299f prefix": {"lspace": 0, "rspace": 0}, "\u29a0 prefix": {"lspace": 0, "rspace": 0}, "\u29a1 prefix": {"lspace": 0, "rspace": 0}, "\u29a2 prefix": {"lspace": 0, "rspace": 0}, "\u29a3 prefix": {"lspace": 0, "rspace": 0}, "\u29a4 prefix": {"lspace": 0, "rspace": 0}, "\u29a5 prefix": {"lspace": 0, "rspace": 0}, "\u29a6 prefix": {"lspace": 0, "rspace": 0}, "\u29a7 prefix": {"lspace": 0, "rspace": 0}, "\u29a8 prefix": {"lspace": 0, "rspace": 0}, "\u29a9 prefix": {"lspace": 0, "rspace": 0}, "\u29aa prefix": {"lspace": 0, "rspace": 0}, "\u29ab prefix": {"lspace": 0, "rspace": 0}, "\u29ac prefix": {"lspace": 0, "rspace": 0}, "\u29ad prefix": {"lspace": 0, "rspace": 0}, "\u29ae prefix": {"lspace": 0, "rspace": 0}, "\u29af prefix": {"lspace": 0, "rspace": 0}, "\u29b6 infix": {"lspace": 5, "rspace": 5}, "\u29b7 infix": {"lspace": 5, "rspace": 5}, "\u29b8 infix": {"lspace": 4, "rspace": 4}, "\u29b9 infix": {"lspace": 5, "rspace": 5}, "\u29bc infix": {"lspace": 4, "rspace": 4}, "\u29c0 infix": {"lspace": 5, "rspace": 5}, "\u29c1 infix": {"lspace": 5, "rspace": 5}, "\u29c4 infix": {"lspace": 4, "rspace": 4}, "\u29c5 infix": {"lspace": 4, "rspace": 4}, "\u29c6 infix": {"lspace": 3, "rspace": 3}, "\u29c7 infix": {"lspace": 3, "rspace": 3}, "\u29c8 infix": {"lspace": 3, "rspace": 3}, "\u29ce infix": {"lspace": 5, "rspace": 5}, "\u29cf infix": {"lspace": 5, "rspace": 5}, "\u29d0 infix": {"lspace": 5, "rspace": 5}, "\u29d1 infix": {"lspace": 5, "rspace": 5}, "\u29d2 infix": {"lspace": 5, "rspace": 5}, "\u29d3 infix": {"lspace": 5, "rspace": 5}, "\u29d4 infix": {"lspace": 3, "rspace": 3}, "\u29d5 infix": {"lspace": 3, "rspace": 3}, "\u29d6 infix": {"lspace": 3, "rspace": 3}, "\u29d7 infix": {"lspace": 3, "rspace": 3}, "\u29d8 prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u29d9 postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u29da prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u29db postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u29df infix": {"lspace": 5, "rspace": 5}, "\u29e1 infix": {"lspace": 5, "rspace": 5}, "\u29e2 infix": {"lspace": 3, "rspace": 3}, "\u29e3 infix": {"lspace": 5, "rspace": 5}, "\u29e4 infix": {"lspace": 5, "rspace": 5}, "\u29e5 infix": {"lspace": 5, "rspace": 5}, "\u29e6 infix": {"lspace": 5, "rspace": 5}, "\u29f4 infix": {"lspace": 5, "rspace": 5}, "\u29f5 infix": {"lspace": 4, "rspace": 4}, "\u29f6 infix": {"lspace": 4, "rspace": 4}, "\u29f7 infix": {"lspace": 4, "rspace": 4}, "\u29f8 infix": {"lspace": 4, "rspace": 4}, "\u29f9 infix": {"lspace": 4, "rspace": 4}, "\u29fa infix": {"lspace": 4, "rspace": 4}, "\u29fb infix": {"lspace": 4, "rspace": 4}, "\u29fc prefix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u29fd postfix": {"lspace": 0, "rspace": 0, "stretchy": true, "symmetric": true}, "\u2a00 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a01 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a02 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a03 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a04 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a05 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a06 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a07 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a08 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a09 prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a0a prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a0b prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a0c prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a0d prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a0e prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a0f prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a10 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a11 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a12 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a13 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a14 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a15 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a16 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a17 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a18 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a19 prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a1a prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a1b prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a1c prefix": {"largeop": true, "lspace": 3, "rspace": 3, "symmetric": true}, "\u2a1d infix": {"lspace": 3, "rspace": 3}, "\u2a1d prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a1e infix": {"lspace": 3, "rspace": 3}, "\u2a1e prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2a1f infix": {"lspace": 4, "rspace": 4}, "\u2a20 infix": {"lspace": 4, "rspace": 4}, "\u2a21 infix": {"lspace": 4, "rspace": 4}, "\u2a22 infix": {"lspace": 4, "rspace": 4}, "\u2a23 infix": {"lspace": 4, "rspace": 4}, "\u2a24 infix": {"lspace": 4, "rspace": 4}, "\u2a25 infix": {"lspace": 4, "rspace": 4}, "\u2a26 infix": {"lspace": 4, "rspace": 4}, "\u2a27 infix": {"lspace": 4, "rspace": 4}, "\u2a28 infix": {"lspace": 4, "rspace": 4}, "\u2a29 infix": {"lspace": 4, "rspace": 4}, "\u2a2a infix": {"lspace": 4, "rspace": 4}, "\u2a2b infix": {"lspace": 4, "rspace": 4}, "\u2a2c infix": {"lspace": 4, "rspace": 4}, "\u2a2d infix": {"lspace": 4, "rspace": 4}, "\u2a2e infix": {"lspace": 4, "rspace": 4}, "\u2a2f infix": {"lspace": 3, "rspace": 3}, "\u2a30 infix": {"lspace": 3, "rspace": 3}, "\u2a31 infix": {"lspace": 3, "rspace": 3}, "\u2a32 infix": {"lspace": 3, "rspace": 3}, "\u2a33 infix": {"lspace": 3, "rspace": 3}, "\u2a34 infix": {"lspace": 3, "rspace": 3}, "\u2a35 infix": {"lspace": 3, "rspace": 3}, "\u2a36 infix": {"lspace": 3, "rspace": 3}, "\u2a37 infix": {"lspace": 3, "rspace": 3}, "\u2a38 infix": {"lspace": 4, "rspace": 4}, "\u2a39 infix": {"lspace": 4, "rspace": 4}, "\u2a3a infix": {"lspace": 4, "rspace": 4}, "\u2a3b infix": {"lspace": 3, "rspace": 3}, "\u2a3c infix": {"lspace": 3, "rspace": 3}, "\u2a3d infix": {"lspace": 3, "rspace": 3}, "\u2a3e infix": {"lspace": 4, "rspace": 4}, "\u2a3f infix": {"lspace": 3, "rspace": 3}, "\u2a40 infix": {"lspace": 4, "rspace": 4}, "\u2a41 infix": {"lspace": 4, "rspace": 4}, "\u2a42 infix": {"lspace": 4, "rspace": 4}, "\u2a43 infix": {"lspace": 4, "rspace": 4}, "\u2a44 infix": {"lspace": 4, "rspace": 4}, "\u2a45 infix": {"lspace": 4, "rspace": 4}, "\u2a46 infix": {"lspace": 4, "rspace": 4}, "\u2a47 infix": {"lspace": 4, "rspace": 4}, "\u2a48 infix": {"lspace": 4, "rspace": 4}, "\u2a49 infix": {"lspace": 4, "rspace": 4}, "\u2a4a infix": {"lspace": 4, "rspace": 4}, "\u2a4b infix": {"lspace": 4, "rspace": 4}, "\u2a4c infix": {"lspace": 4, "rspace": 4}, "\u2a4d infix": {"lspace": 4, "rspace": 4}, "\u2a4e infix": {"lspace": 4, "rspace": 4}, "\u2a4f infix": {"lspace": 4, "rspace": 4}, "\u2a50 infix": {"lspace": 3, "rspace": 3}, "\u2a51 infix": {"lspace": 4, "rspace": 4}, "\u2a52 infix": {"lspace": 4, "rspace": 4}, "\u2a53 infix": {"lspace": 4, "rspace": 4}, "\u2a54 infix": {"lspace": 4, "rspace": 4}, "\u2a55 infix": {"lspace": 4, "rspace": 4}, "\u2a56 infix": {"lspace": 4, "rspace": 4}, "\u2a57 infix": {"lspace": 4, "rspace": 4}, "\u2a58 infix": {"lspace": 4, "rspace": 4}, "\u2a59 infix": {"lspace": 4, "rspace": 4}, "\u2a5a infix": {"lspace": 4, "rspace": 4}, "\u2a5b infix": {"lspace": 4, "rspace": 4}, "\u2a5c infix": {"lspace": 4, "rspace": 4}, "\u2a5d infix": {"lspace": 4, "rspace": 4}, "\u2a5e infix": {"lspace": 4, "rspace": 4}, "\u2a5f infix": {"lspace": 4, "rspace": 4}, "\u2a60 infix": {"lspace": 4, "rspace": 4}, "\u2a61 infix": {"lspace": 4, "rspace": 4}, "\u2a62 infix": {"lspace": 4, "rspace": 4}, "\u2a63 infix": {"lspace": 4, "rspace": 4}, "\u2a64 infix": {"lspace": 3, "rspace": 3}, "\u2a65 infix": {"lspace": 3, "rspace": 3}, "\u2a66 infix": {"lspace": 5, "rspace": 5}, "\u2a67 infix": {"lspace": 5, "rspace": 5}, "\u2a68 infix": {"lspace": 5, "rspace": 5}, "\u2a69 infix": {"lspace": 5, "rspace": 5}, "\u2a6a infix": {"lspace": 5, "rspace": 5}, "\u2a6b infix": {"lspace": 5, "rspace": 5}, "\u2a6c infix": {"lspace": 5, "rspace": 5}, "\u2a6d infix": {"lspace": 5, "rspace": 5}, "\u2a6e infix": {"lspace": 5, "rspace": 5}, "\u2a6f infix": {"lspace": 5, "rspace": 5}, "\u2a70 infix": {"lspace": 5, "rspace": 5}, "\u2a71 infix": {"lspace": 5, "rspace": 5}, "\u2a72 infix": {"lspace": 5, "rspace": 5}, "\u2a73 infix": {"lspace": 5, "rspace": 5}, "\u2a74 infix": {"lspace": 5, "rspace": 5}, "\u2a75 infix": {"lspace": 5, "rspace": 5}, "\u2a76 infix": {"lspace": 5, "rspace": 5}, "\u2a77 infix": {"lspace": 5, "rspace": 5}, "\u2a78 infix": {"lspace": 5, "rspace": 5}, "\u2a79 infix": {"lspace": 5, "rspace": 5}, "\u2a7a infix": {"lspace": 5, "rspace": 5}, "\u2a7b infix": {"lspace": 5, "rspace": 5}, "\u2a7c infix": {"lspace": 5, "rspace": 5}, "\u2a7d infix": {"lspace": 5, "rspace": 5}, "\u2a7e infix": {"lspace": 5, "rspace": 5}, "\u2a7f infix": {"lspace": 5, "rspace": 5}, "\u2a80 infix": {"lspace": 5, "rspace": 5}, "\u2a81 infix": {"lspace": 5, "rspace": 5}, "\u2a82 infix": {"lspace": 5, "rspace": 5}, "\u2a83 infix": {"lspace": 5, "rspace": 5}, "\u2a84 infix": {"lspace": 5, "rspace": 5}, "\u2a85 infix": {"lspace": 5, "rspace": 5}, "\u2a86 infix": {"lspace": 5, "rspace": 5}, "\u2a87 infix": {"lspace": 5, "rspace": 5}, "\u2a88 infix": {"lspace": 5, "rspace": 5}, "\u2a89 infix": {"lspace": 5, "rspace": 5}, "\u2a8a infix": {"lspace": 5, "rspace": 5}, "\u2a8b infix": {"lspace": 5, "rspace": 5}, "\u2a8c infix": {"lspace": 5, "rspace": 5}, "\u2a8d infix": {"lspace": 5, "rspace": 5}, "\u2a8e infix": {"lspace": 5, "rspace": 5}, "\u2a8f infix": {"lspace": 5, "rspace": 5}, "\u2a90 infix": {"lspace": 5, "rspace": 5}, "\u2a91 infix": {"lspace": 5, "rspace": 5}, "\u2a92 infix": {"lspace": 5, "rspace": 5}, "\u2a93 infix": {"lspace": 5, "rspace": 5}, "\u2a94 infix": {"lspace": 5, "rspace": 5}, "\u2a95 infix": {"lspace": 5, "rspace": 5}, "\u2a96 infix": {"lspace": 5, "rspace": 5}, "\u2a97 infix": {"lspace": 5, "rspace": 5}, "\u2a98 infix": {"lspace": 5, "rspace": 5}, "\u2a99 infix": {"lspace": 5, "rspace": 5}, "\u2a9a infix": {"lspace": 5, "rspace": 5}, "\u2a9b infix": {"lspace": 5, "rspace": 5}, "\u2a9c infix": {"lspace": 5, "rspace": 5}, "\u2a9d infix": {"lspace": 5, "rspace": 5}, "\u2a9e infix": {"lspace": 5, "rspace": 5}, "\u2a9f infix": {"lspace": 5, "rspace": 5}, "\u2aa0 infix": {"lspace": 5, "rspace": 5}, "\u2aa1 infix": {"lspace": 5, "rspace": 5}, "\u2aa2 infix": {"lspace": 5, "rspace": 5}, "\u2aa3 infix": {"lspace": 5, "rspace": 5}, "\u2aa4 infix": {"lspace": 5, "rspace": 5}, "\u2aa5 infix": {"lspace": 5, "rspace": 5}, "\u2aa6 infix": {"lspace": 5, "rspace": 5}, "\u2aa7 infix": {"lspace": 5, "rspace": 5}, "\u2aa8 infix": {"lspace": 5, "rspace": 5}, "\u2aa9 infix": {"lspace": 5, "rspace": 5}, "\u2aaa infix": {"lspace": 5, "rspace": 5}, "\u2aab infix": {"lspace": 5, "rspace": 5}, "\u2aac infix": {"lspace": 5, "rspace": 5}, "\u2aad infix": {"lspace": 5, "rspace": 5}, "\u2aae infix": {"lspace": 5, "rspace": 5}, "\u2aaf infix": {"lspace": 5, "rspace": 5}, "\u2ab0 infix": {"lspace": 5, "rspace": 5}, "\u2ab1 infix": {"lspace": 5, "rspace": 5}, "\u2ab2 infix": {"lspace": 5, "rspace": 5}, "\u2ab3 infix": {"lspace": 5, "rspace": 5}, "\u2ab4 infix": {"lspace": 5, "rspace": 5}, "\u2ab5 infix": {"lspace": 5, "rspace": 5}, "\u2ab6 infix": {"lspace": 5, "rspace": 5}, "\u2ab7 infix": {"lspace": 5, "rspace": 5}, "\u2ab8 infix": {"lspace": 5, "rspace": 5}, "\u2ab9 infix": {"lspace": 5, "rspace": 5}, "\u2aba infix": {"lspace": 5, "rspace": 5}, "\u2abb infix": {"lspace": 5, "rspace": 5}, "\u2abc infix": {"lspace": 5, "rspace": 5}, "\u2abd infix": {"lspace": 5, "rspace": 5}, "\u2abe infix": {"lspace": 5, "rspace": 5}, "\u2abf infix": {"lspace": 5, "rspace": 5}, "\u2ac0 infix": {"lspace": 5, "rspace": 5}, "\u2ac1 infix": {"lspace": 5, "rspace": 5}, "\u2ac2 infix": {"lspace": 5, "rspace": 5}, "\u2ac3 infix": {"lspace": 5, "rspace": 5}, "\u2ac4 infix": {"lspace": 5, "rspace": 5}, "\u2ac5 infix": {"lspace": 5, "rspace": 5}, "\u2ac6 infix": {"lspace": 5, "rspace": 5}, "\u2ac7 infix": {"lspace": 5, "rspace": 5}, "\u2ac8 infix": {"lspace": 5, "rspace": 5}, "\u2ac9 infix": {"lspace": 5, "rspace": 5}, "\u2aca infix": {"lspace": 5, "rspace": 5}, "\u2acb infix": {"lspace": 5, "rspace": 5}, "\u2acc infix": {"lspace": 5, "rspace": 5}, "\u2acd infix": {"lspace": 5, "rspace": 5}, "\u2ace infix": {"lspace": 5, "rspace": 5}, "\u2acf infix": {"lspace": 5, "rspace": 5}, "\u2ad0 infix": {"lspace": 5, "rspace": 5}, "\u2ad1 infix": {"lspace": 5, "rspace": 5}, "\u2ad2 infix": {"lspace": 5, "rspace": 5}, "\u2ad3 infix": {"lspace": 5, "rspace": 5}, "\u2ad4 infix": {"lspace": 5, "rspace": 5}, "\u2ad5 infix": {"lspace": 5, "rspace": 5}, "\u2ad6 infix": {"lspace": 5, "rspace": 5}, "\u2ad7 infix": {"lspace": 5, "rspace": 5}, "\u2ad8 infix": {"lspace": 5, "rspace": 5}, "\u2ad9 infix": {"lspace": 5, "rspace": 5}, "\u2ada infix": {"lspace": 5, "rspace": 5}, "\u2adb infix": {"lspace": 4, "rspace": 4}, "\u2adc infix": {"lspace": 3, "rspace": 3}, "\u2add infix": {"lspace": 3, "rspace": 3}, "\u2ade infix": {"lspace": 5, "rspace": 5}, "\u2adf infix": {"lspace": 5, "rspace": 5}, "\u2ae0 infix": {"lspace": 5, "rspace": 5}, "\u2ae1 infix": {"lspace": 5, "rspace": 5}, "\u2ae2 infix": {"lspace": 5, "rspace": 5}, "\u2ae3 infix": {"lspace": 5, "rspace": 5}, "\u2ae4 infix": {"lspace": 5, "rspace": 5}, "\u2ae5 infix": {"lspace": 5, "rspace": 5}, "\u2ae6 infix": {"lspace": 5, "rspace": 5}, "\u2ae7 infix": {"lspace": 5, "rspace": 5}, "\u2ae8 infix": {"lspace": 5, "rspace": 5}, "\u2ae9 infix": {"lspace": 5, "rspace": 5}, "\u2aea infix": {"lspace": 5, "rspace": 5}, "\u2aeb infix": {"lspace": 5, "rspace": 5}, "\u2aec prefix": {"lspace": 0, "rspace": 0}, "\u2aed prefix": {"lspace": 0, "rspace": 0}, "\u2aee infix": {"lspace": 5, "rspace": 5}, "\u2af2 infix": {"lspace": 5, "rspace": 5}, "\u2af3 infix": {"lspace": 5, "rspace": 5}, "\u2af4 infix": {"lspace": 5, "rspace": 5}, "\u2af5 infix": {"lspace": 5, "rspace": 5}, "\u2af6 infix": {"lspace": 4, "rspace": 4}, "\u2af7 infix": {"lspace": 5, "rspace": 5}, "\u2af8 infix": {"lspace": 5, "rspace": 5}, "\u2af9 infix": {"lspace": 5, "rspace": 5}, "\u2afa infix": {"lspace": 5, "rspace": 5}, "\u2afb infix": {"lspace": 4, "rspace": 4}, "\u2afc prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2afd infix": {"lspace": 4, "rspace": 4}, "\u2afe infix": {"lspace": 3, "rspace": 3}, "\u2aff prefix": {"largeop": true, "lspace": 3, "movablelimits": true, "rspace": 3, "symmetric": true}, "\u2b00 infix": {"lspace": 5, "rspace": 5}, "\u2b01 infix": {"lspace": 5, "rspace": 5}, "\u2b02 infix": {"lspace": 5, "rspace": 5}, "\u2b03 infix": {"lspace": 5, "rspace": 5}, "\u2b04 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b05 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b06 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b07 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b08 infix": {"lspace": 5, "rspace": 5}, "\u2b09 infix": {"lspace": 5, "rspace": 5}, "\u2b0a infix": {"lspace": 5, "rspace": 5}, "\u2b0b infix": {"lspace": 5, "rspace": 5}, "\u2b0c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b0d infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b0e infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b0f infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b10 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b11 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b30 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b31 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b32 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b33 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b34 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b35 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b36 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b37 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b38 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b39 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3d infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3e infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b3f infix": {"lspace": 5, "rspace": 5}, "\u2b40 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b41 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b42 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b43 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b44 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b45 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b46 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b47 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b48 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b49 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b4a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b4b infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b4c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b4d infix": {"lspace": 5, "rspace": 5}, "\u2b4e infix": {"lspace": 5, "rspace": 5}, "\u2b4f infix": {"lspace": 5, "rspace": 5}, "\u2b5a infix": {"lspace": 5, "rspace": 5}, "\u2b5b infix": {"lspace": 5, "rspace": 5}, "\u2b5c infix": {"lspace": 5, "rspace": 5}, "\u2b5d infix": {"lspace": 5, "rspace": 5}, "\u2b5e infix": {"lspace": 5, "rspace": 5}, "\u2b5f infix": {"lspace": 5, "rspace": 5}, "\u2b60 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b61 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b62 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b63 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b64 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b65 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b66 infix": {"lspace": 5, "rspace": 5}, "\u2b67 infix": {"lspace": 5, "rspace": 5}, "\u2b68 infix": {"lspace": 5, "rspace": 5}, "\u2b69 infix": {"lspace": 5, "rspace": 5}, "\u2b6a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b6b infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b6c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b6d infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b6e infix": {"lspace": 5, "rspace": 5}, "\u2b6f infix": {"lspace": 5, "rspace": 5}, "\u2b70 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b71 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b72 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b73 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b76 infix": {"lspace": 5, "rspace": 5}, "\u2b77 infix": {"lspace": 5, "rspace": 5}, "\u2b78 infix": {"lspace": 5, "rspace": 5}, "\u2b79 infix": {"lspace": 5, "rspace": 5}, "\u2b7a infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b7b infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b7c infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b7d infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b80 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b81 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b82 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b83 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b84 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b85 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b86 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2b87 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2b88 infix": {"lspace": 5, "rspace": 5}, "\u2b89 infix": {"lspace": 5, "rspace": 5}, "\u2b8a infix": {"lspace": 5, "rspace": 5}, "\u2b8b infix": {"lspace": 5, "rspace": 5}, "\u2b8c infix": {"lspace": 5, "rspace": 5}, "\u2b8d infix": {"lspace": 5, "rspace": 5}, "\u2b8e infix": {"lspace": 5, "rspace": 5}, "\u2b8f infix": {"lspace": 5, "rspace": 5}, "\u2b94 infix": {"lspace": 5, "rspace": 5}, "\u2b95 infix": {"horizontal": true, "lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba0 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba1 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba2 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba3 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba4 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba5 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba6 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba7 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba8 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2ba9 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2baa infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bab infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bac infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bad infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bae infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2baf infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bb0 infix": {"lspace": 5, "rspace": 5}, "\u2bb1 infix": {"lspace": 5, "rspace": 5}, "\u2bb2 infix": {"lspace": 5, "rspace": 5}, "\u2bb3 infix": {"lspace": 5, "rspace": 5}, "\u2bb4 infix": {"lspace": 5, "rspace": 5}, "\u2bb5 infix": {"lspace": 5, "rspace": 5}, "\u2bb6 infix": {"lspace": 5, "rspace": 5}, "\u2bb7 infix": {"lspace": 5, "rspace": 5}, "\u2bb8 infix": {"lspace": 5, "rspace": 5, "stretchy": true}, "\u2bd1 infix": {"lspace": 5, "rspace": 5}, "\ud83b\udef0 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}, "\ud83b\udef1 postfix": {"horizontal": true, "lspace": 0, "rspace": 0, "stretchy": true}}} \ No newline at end of file diff --git a/testing/web-platform/tests/mathml/tools/axisheight.py b/testing/web-platform/tests/mathml/tools/axisheight.py new file mode 100755 index 0000000000..7640c4f789 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/axisheight.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +verticalArrowCodePoint = 0x21A8 +v1 = 5 * mathfont.em +v2 = 14 * mathfont.em +f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v1 +f.math.MinConnectorOverlap = 0 +mathfont.createSquareGlyph(f, verticalArrowCodePoint) +g = f.createChar(-1, "size1") +mathfont.drawRectangleGlyph(g, mathfont.em, v2 / 2, 0) +g = f.createChar(-1, "size2") +mathfont.drawRectangleGlyph(g, mathfont.em, v2, 0) +g = f.createChar(-1, "bot") +mathfont.drawRectangleGlyph(g, mathfont.em, v2 + v1, 0) +g = f.createChar(-1, "ext") +mathfont.drawRectangleGlyph(g, mathfont.em, mathfont.em, 0) +f[verticalArrowCodePoint].verticalVariants = "uni21A8 size1 size2" +# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) +f[verticalArrowCodePoint].verticalComponents = \ + (("bot", False, 0, mathfont.em, v2 + v1), + ("ext", True, mathfont.em, mathfont.em, mathfont.em)) +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/fractions.py b/testing/web-platform/tests/mathml/tools/fractions.py new file mode 100755 index 0000000000..bd39fc2fdb --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/fractions.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +v1 = 7 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-axisheight%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v1 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 5 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-denominatordisplaystylegapmin%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.FractionDenominatorDisplayStyleGapMin = v1 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 6 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-denominatordisplaystyleshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = v1 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 4 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-denominatorgapmin%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = v1 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 3 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-denominatorshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = v1 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 8 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-numeratordisplaystylegapmin%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = v1 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 2 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-numeratordisplaystyleshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = v1 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 9 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-numeratorgapmin%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = v1 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 11 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("fraction-numeratorshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = v1 +f.math.FractionRuleThickness = v2 +mathfont.save(f) + +v1 = 10 * mathfont.em +f = mathfont.create("fraction-rulethickness%d" % v1, + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.FractionDenominatorDisplayStyleGapMin = 0 +f.math.FractionDenominatorDisplayStyleShiftDown = 0 +f.math.FractionDenominatorGapMin = 0 +f.math.FractionDenominatorShiftDown = 0 +f.math.FractionNumeratorDisplayStyleGapMin = 0 +f.math.FractionNumeratorDisplayStyleShiftUp = 0 +f.math.FractionNumeratorGapMin = 0 +f.math.FractionNumeratorShiftUp = 0 +f.math.FractionRuleThickness = v1 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/largeop.py b/testing/web-platform/tests/mathml/tools/largeop.py new file mode 100755 index 0000000000..9832ff0039 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/largeop.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +nAryWhiteVerticalBarCodePoint = 0x2AFF +v1 = 5 * mathfont.em +f = mathfont.create("largeop-displayoperatorminheight%d" % v1, + "Copyright (c) 2016 MathML Association") +f.math.DisplayOperatorMinHeight = v1 +mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint) +g = f.createChar(-1, "uni2AFF.display") +mathfont.drawRectangleGlyph(g, mathfont.em, v1, 0) +f[nAryWhiteVerticalBarCodePoint].verticalVariants = "uni2AFF uni2AFF.display" +mathfont.save(f) + +v1 = 2 * mathfont.em +v2 = 3 * mathfont.em +f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2), + "Copyright (c) 2018 Igalia S.L.") +f.math.DisplayOperatorMinHeight = v1 +mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint) +g = f.createChar(-1, "uni2AFF.display") +p = g.glyphPen() +p.moveTo(0, 0) +p.lineTo(v2, v1) +p.lineTo(v2 + mathfont.em, v1) +p.lineTo(mathfont.em, 0) +p.closePath() +g.width = mathfont.em + v2 +g.italicCorrection = v2 +f[nAryWhiteVerticalBarCodePoint].verticalVariants = "uni2AFF uni2AFF.display" +mathfont.save(f) + +v1 = 7 * mathfont.em +v2 = 5 * mathfont.em +f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2), + "Copyright (c) 2020 Igalia S.L.") +f.math.DisplayOperatorMinHeight = v1 +f.math.MinConnectorOverlap = 0 +mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint) +g = f.createChar(-1, "uni2AFF.bot") +mathfont.drawRectangleGlyph(g, + width=2 * mathfont.em, + ascent=mathfont.em) +g = f.createChar(-1, "uni2AFF.ext") +mathfont.drawRectangleGlyph(g, + width=mathfont.em, + ascent=2 * mathfont.em, + padding_left=mathfont.em) +g = f.createChar(-1, "uni2AFF.top") +mathfont.drawRectangleGlyph(g, + width=v2 + mathfont.em, + ascent=mathfont.em, + padding_left=mathfont.em) +f[nAryWhiteVerticalBarCodePoint].verticalVariants = "uni2AFF" +# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) +f[nAryWhiteVerticalBarCodePoint].verticalComponents = \ + (("uni2AFF.bot", False, 0, mathfont.em // 2, mathfont.em), + ("uni2AFF.ext", True, mathfont.em // 2, mathfont.em // 2, 2 * mathfont.em), + ("uni2AFF.top", False, mathfont.em // 2, 0, mathfont.em) + ) +f[nAryWhiteVerticalBarCodePoint].verticalComponentItalicCorrection = v2 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/limits.py b/testing/web-platform/tests/mathml/tools/limits.py new file mode 100755 index 0000000000..db4437c1b0 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/limits.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +nArySumCodePoint = 0x2211 # largeop operator + +v = 3 * mathfont.em +f = mathfont.create("limits-lowerlimitbaselinedropmin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, nArySumCodePoint) +f.math.LowerLimitBaselineDropMin = v +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 11 * mathfont.em +f = mathfont.create("limits-lowerlimitgapmin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, nArySumCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = v +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 5 * mathfont.em +f = mathfont.create("limits-upperlimitbaselinerisemin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, nArySumCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = v +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 7 * mathfont.em +f = mathfont.create("limits-upperlimitgapmin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, nArySumCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = v +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/math-text.py b/testing/web-platform/tests/mathml/tools/math-text.py new file mode 100755 index 0000000000..2c3e3257dc --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/math-text.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 + +import fontforge + +font = fontforge.font() +font.em = 1000 +lineHeight = 5000 +name = "math-text" +font.fontname = name +font.familyname = name +font.fullname = name +font.copyright = "Copyright (c) 2019 Igalia" + +glyph = font.createChar(ord(" "), "space") +glyph.width = 1000 +glyph = font.createChar(ord("A")) +pen = glyph.glyphPen() +pen.moveTo(0, -500) +pen.lineTo(0, 500) +pen.lineTo(1000, 500) +pen.lineTo(1000, -500) +pen.closePath() + +glyph = font.createChar(ord("B")) +pen = glyph.glyphPen() +pen.moveTo(0, 0) +pen.lineTo(0, 1000) +pen.lineTo(1000, 1000) +pen.lineTo(1000, 0) +pen.closePath() + +glyph = font.createChar(ord("C")) +pen = glyph.glyphPen() +pen.moveTo(0, -1000) +pen.lineTo(0, 0) +pen.lineTo(1000, 0) +pen.lineTo(1000, -1000) +pen.closePath() + +font.os2_typoascent_add = False +font.os2_typoascent = lineHeight // 2 +font.os2_typodescent_add = False +font.os2_typodescent = -lineHeight // 2 +font.os2_typolinegap = 0 +font.hhea_ascent = lineHeight // 2 +font.hhea_ascent_add = False +font.hhea_descent = -lineHeight // 2 +font.hhea_descent_add = False +font.hhea_linegap = 0 +font.os2_winascent = lineHeight // 2 +font.os2_winascent_add = False +font.os2_windescent = lineHeight // 2 +font.os2_windescent_add = False + +font.os2_use_typo_metrics = True + +path = "../../fonts/math/math-text.woff" +print("Generating %s..." % path, end="") +font.generate(path) +if font.validate() == 0: + print(" done.") +else: + print(" validation error!") + exit(1) diff --git a/testing/web-platform/tests/mathml/tools/mathvariant-transforms.py b/testing/web-platform/tests/mathml/tools/mathvariant-transforms.py new file mode 100755 index 0000000000..e4857d2a3e --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/mathvariant-transforms.py @@ -0,0 +1,202 @@ +#!/usr/bin/env python3 + +from lxml import etree +from utils.misc import downloadWithProgressBar, UnicodeXMLURL +from utils import mathfont + +# Retrieve the unicode.xml file if necessary. +unicodeXML = downloadWithProgressBar(UnicodeXMLURL) + +# Extract the mathvariants transformation. +xsltTransform = etree.XSLT(etree.XML('''\ + + + + + + + + + + + + + + + + + + + + + + + + + + + +''')) + +# Put the mathvariant transforms into a Python structure. +mathvariantTransforms = {} +root = xsltTransform(etree.parse(unicodeXML)).getroot() + + +def parseCodePoint(aHexaString): + return int("0x%s" % aHexaString[1:], 16) + + +for entry in root: + mathvariant = entry.get("mathvariant") + baseChar = parseCodePoint(entry.get("baseChar")) + transformedChar = parseCodePoint(entry.get("transformedChar")) + if mathvariant not in mathvariantTransforms: + mathvariantTransforms[mathvariant] = {} + mathvariantTransforms[mathvariant][baseChar] = transformedChar + +# There is no "isolated" mathvariant. +del mathvariantTransforms["isolated"] + +# Automatic mathvariant uses the same transform as italic. +# It is handled specially (see below). +mathvariantTransforms["auto"] = mathvariantTransforms["italic"] + +# Create a WOFF font for each mathvariant. +for mathvariant in mathvariantTransforms: + if mathvariant == "auto": + continue + font = mathfont.create("mathvariant-%s" % mathvariant, + "Copyright (c) 2016 MathML Association") + for baseChar in mathvariantTransforms[mathvariant]: + if baseChar not in font: + mathfont.createGlyphFromValue(font, baseChar) + transformedChar = mathvariantTransforms[mathvariant][baseChar] + mathfont.createGlyphFromValue(font, transformedChar) + mathfont.save(font) + +# Common function to generate test for MathML mathvariant / CSS text-transform. + + +def generateTestFor(mathvariant, mathml): + assert mathml or mathvariant == "auto", "These tests have been removed!" + print("Generating tests for %s..." % mathvariant, end="") + if mathml: + reftest = open( + "../relations/css-styling/mathvariant-%s.html" % mathvariant, "w") + reftestReference = open( + "../relations/css-styling/mathvariant-%s-ref.html" % mathvariant, "w") + else: + reftest = open( + "../../css/css-text/text-transform/math/text-transform-math-%s-001.html" % mathvariant, "w") + reftestReference = open( + "../../css/css-text/text-transform/math/text-transform-math-%s-001-ref.html" % mathvariant, "w") + source = '\ +\n\ +\n\ +\n\ +\n\ +%s\n' + if mathml: + reftest.write(source % ("mathvariant %s" % mathvariant)) + reftestReference.write( + source % ("mathvariant %s (reference)" % mathvariant)) + else: + reftest.write(source % ("text-transform math-%s" % mathvariant)) + reftestReference.write( + source % ("text-transform math-%s (reference)" % mathvariant)) + if mathvariant == "auto": + mathAssert = "Verify that a single-char is equivalent to an with the transformed italic unicode character." + mapping = "italic" + else: + mathAssert = "Verify that a single-char with a %s mathvariant is equivalent to an with the transformed unicode character." % mathvariant + mapping = mathvariant + if mathml: + source = '\ +\n\ +\n\ +\n\ +\n\ +\n\ +\n' + reftest.write(source % (mapping, mathvariant, mathAssert)) + else: + source = '\ +\n\ +\n\ +\n\ +\n\ +\n' + reftest.write(source % (mapping, mathvariant, mathvariant)) + WOFFfont = "mathvariant-%s.woff" % mapping + source = '\ +\n\ +\n\ + \n\ +

    Test passes if all the equalities below are true.

    \n' % WOFFfont + if mathml: + reftest.write(source) + reftestReference.write(source) + else: + reftest.write(source) + reftestReference.write(source) + charIndex = 0 + for baseChar in mathvariantTransforms[mathvariant]: + transformedChar = mathvariantTransforms[mathvariant][baseChar] + if mathvariant == "auto": + tokenTag = '&#x%0X;' % baseChar + tokenTagRef = '&#x%0X;' % transformedChar + else: + tokenTag = '&#x%0X;' % ( + mathvariant, baseChar) + tokenTagRef = '&#x%0X;' % transformedChar + if mathml: + reftest.write(' %s=%05X' % + (tokenTag, transformedChar)) + reftestReference.write( + ' %s=%05X' % (tokenTagRef, transformedChar)) + else: + reftest.write(' &#x%0X;=%05X' % + (mathvariant, baseChar, transformedChar)) + reftestReference.write( + ' &#x%0X;=%05X' % (transformedChar, transformedChar)) + charIndex += 1 + if charIndex % 10 == 0: + reftest.write('
    ') + reftestReference.write('
    ') + reftest.write('\n') + reftestReference.write('\n') + source = '\n\n' + reftest.write(source) + reftestReference.write(source) + reftest.close() + reftestReference.close() + print(" done.") + + +# Generate css/css-text/text-transform/math/text-transform-math-auto-001.html +generateTestFor(mathvariant="auto", mathml=False) +generateTestFor(mathvariant="auto", mathml=True) + +# Other mathvariant tests can be generated by the following command. They are +# still use internally by browsers implementing full mathvariant support. +# See https://github.com/w3c/mathml-core/issues/182 +# for mathvariant in mathvariantTransforms: +# generateTestFor(mathvariant, mathml=True) diff --git a/testing/web-platform/tests/mathml/tools/operator-dictionary.py b/testing/web-platform/tests/mathml/tools/operator-dictionary.py new file mode 100755 index 0000000000..8de654df15 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/operator-dictionary.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 + +from lxml import etree +from utils.misc import downloadWithProgressBar, UnicodeXMLURL, InlineAxisOperatorsURL +import json +import re +from utils import mathfont + +NonBreakingSpace = 0x00A0 + + +def parseHexaNumber(string): + return int("0x%s" % string, 16) + + +def parseHexaSequence(string): + return tuple(map(parseHexaNumber, string[1:].split("-"))) + + +def parseSpaces(value, entry, names): + for name in names: + attributeValue = entry.get(name) + if attributeValue is not None: + value[name] = int(attributeValue) + + +def parseProperties(value, entry, names): + attributeValue = entry.get("properties") + if attributeValue is not None: + for name in names: + if attributeValue.find(name) >= 0: + value[name] = True + + +def buildKeyAndValueFrom(characters, form): + # Concatenate characters and form to build the key. + key = "" + for c in characters: + key += chr(c) + key += " " + form + # But save characters as an individual property for easier manipulation in + # this Python script. + value = { + "characters": characters, + } + return key, value + + +# Retrieve the spec files. +inlineAxisOperatorsTXT = downloadWithProgressBar(InlineAxisOperatorsURL) +unicodeXML = downloadWithProgressBar(UnicodeXMLURL) + +# Extract the operator dictionary. +xsltTransform = etree.XSLT(etree.parse("./operator-dictionary.xsl")) + +# Put the operator dictionary into a Python structure. +inlineAxisOperators = {} +with open(inlineAxisOperatorsTXT, mode="r") as f: + for line in f: + hexaString = re.match(r"^U\+([0-9A-F]+)", line).group(1) + inlineAxisOperators[parseHexaNumber(hexaString)] = True + +operatorDictionary = {} +root = xsltTransform(etree.parse(unicodeXML)).getroot() +for entry in root: + characters = parseHexaSequence(entry.get("unicode")) + assert characters != (NonBreakingSpace) + key, value = buildKeyAndValueFrom(characters, entry.get("form")) + # There is no dictionary-specified minsize/maxsize values, so no need to + # parse them. + # The fence, separator and priority properties don't have any effect on math + # layout, so they are not added to the JSON file. + parseSpaces(value, entry, ["lspace", "rspace"]) + parseProperties(value, entry, ["stretchy", "symmetric", "largeop", + "movablelimits", "accent"]) + if (len(characters) == 1 and characters[0] in inlineAxisOperators): + value["horizontal"] = True + operatorDictionary[key] = value + +# Create entries for the non-breaking space in all forms in order to test the +# default for operators outside the official dictionary. +for form in ["infix", "prefix", "suffix"]: + key, value = buildKeyAndValueFrom(tuple([NonBreakingSpace]), form) + operatorDictionary[key] = value + +# Create a WOFF font with glyphs for all the operator strings. +font = mathfont.create("operators", "Copyright (c) 2019 Igalia S.L.") + +# Set parameters for largeop and stretchy tests. +font.math.DisplayOperatorMinHeight = 2 * mathfont.em +font.math.MinConnectorOverlap = mathfont.em // 2 + +# Set parameters for accent tests so that we only have large gap when +# overscript is an accent. +font.math.UpperLimitBaselineRiseMin = 0 +font.math.StretchStackTopShiftUp = 0 +font.math.AccentBaseHeight = 2 * mathfont.em +font.math.OverbarVerticalGap = 0 + +mathfont.createSizeVariants(font, True) + +# Ensure a glyph exists for the combining characters that are handled specially +# in the specification: +# U+0338 COMBINING LONG SOLIDUS OVERLAY +# U+20D2 COMBINING LONG VERTICAL LINE OVERLAY +for combining_character in [0x338, 0x20D2]: + mathfont.createSquareGlyph(font, combining_character) + +for key in operatorDictionary: + value = operatorDictionary[key] + for c in value["characters"]: + if c in font: + continue + if c == NonBreakingSpace: + g = font.createChar(c) + mathfont.drawRectangleGlyph(g, mathfont.em, mathfont.em // 3, 0) + else: + mathfont.createSquareGlyph(font, c) + mathfont.createStretchy(font, c, c in inlineAxisOperators) +mathfont.save(font) + +# Generate the python file. +for key in operatorDictionary: + del operatorDictionary[key]["characters"] # Remove this temporary value. +JSON = { + "comment": "This file was automatically generated by operator-dictionary.py. Do not edit.", + "dictionary": operatorDictionary +} +with open('../support/operator-dictionary.json', 'w') as fp: + json.dump(JSON, fp, sort_keys=True, ensure_ascii=True) diff --git a/testing/web-platform/tests/mathml/tools/operator-dictionary.xsl b/testing/web-platform/tests/mathml/tools/operator-dictionary.xsl new file mode 100644 index 0000000000..8c75317672 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/operator-dictionary.xsl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mirrorable + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/mathml/tools/percentscaledown.py b/testing/web-platform/tests/mathml/tools/percentscaledown.py new file mode 100755 index 0000000000..ef40d1fd87 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/percentscaledown.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +v1 = 80 +v2 = 40 +f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown%d" % (v1, v2), + "Copyright (c) 2019 Igalia S.L.") +f.math.ScriptPercentScaleDown = v1 +f.math.ScriptScriptPercentScaleDown = v2 +mathfont.save(f) + +f = mathfont.create("scriptpercentscaledown0-scriptscriptpercentscaledown%d" % v2, + "Copyright (c) 2019 Igalia S.L.") +f.math.ScriptPercentScaleDown = 0 +f.math.ScriptScriptPercentScaleDown = v2 +mathfont.save(f) + +f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown0" % v1, + "Copyright (c) 2019 Igalia S.L.") +f.math.ScriptPercentScaleDown = v1 +f.math.ScriptScriptPercentScaleDown = 0 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/radicals.py b/testing/web-platform/tests/mathml/tools/radicals.py new file mode 100755 index 0000000000..c4d9ece813 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/radicals.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + + +def createStretchyRadical(aFont): + radicalCodePoint = 0x221a + mathfont.createSquareGlyph(aFont, radicalCodePoint) + g = aFont.createChar(-1, "size1") + mathfont.drawRectangleGlyph(g, mathfont.em, 2 * mathfont.em, 0) + g = aFont.createChar(-1, "size2") + mathfont.drawRectangleGlyph(g, mathfont.em, 3 * mathfont.em, 0) + g = aFont.createChar(-1, "size3") + mathfont.drawRectangleGlyph(g, mathfont.em, 4 * mathfont.em, 0) + aFont[radicalCodePoint].verticalVariants = "radical size1 size2 size3" + # Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) + aFont.math.MinConnectorOverlap = 0 + aFont[radicalCodePoint].verticalComponents = \ + (("size2", False, 0, mathfont.em, 3 * mathfont.em), + ("size1", True, mathfont.em, mathfont.em, 2 * mathfont.em)) + + +v1 = 25 +v2 = 1 * mathfont.em +f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = v1 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v1 = 7 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = v1 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v1 = 3 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = v1 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v1 = 5 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = -v1 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v1 = 4 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = v1 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v = 8 * mathfont.em +f = mathfont.create("radical-rulethickness%d" % v, + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v +f.math.RadicalVerticalGap = 0 +mathfont.save(f) + +v1 = 6 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = 0 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = v1 +mathfont.save(f) + +v1 = 1 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("radical-negativekernbeforedegree%d-rulethickness%d" % + (v1, v2), "Copyright (c) 2020 Igalia S.L.") +createStretchyRadical(f) +f.math.RadicalDegreeBottomRaisePercent = 0 +f.math.RadicalDisplayStyleVerticalGap = 0 +f.math.RadicalExtraAscender = 0 +f.math.RadicalKernAfterDegree = 0 +f.math.RadicalKernBeforeDegree = -v1 +f.math.RadicalRuleThickness = v2 +f.math.RadicalVerticalGap = 0 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/scripts.py b/testing/web-platform/tests/mathml/tools/scripts.py new file mode 100755 index 0000000000..e1da482a00 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/scripts.py @@ -0,0 +1,155 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +v = 3 * mathfont.em +f = mathfont.create("scripts-spaceafterscript%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = v +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 7 * mathfont.em +f = mathfont.create("scripts-superscriptshiftup%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = v +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 5 * mathfont.em +f = mathfont.create("scripts-superscriptshiftupcramped%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = v +mathfont.save(f) + +v = 6 * mathfont.em +f = mathfont.create("scripts-subscriptshiftdown%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = v +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 11 * mathfont.em +f = mathfont.create("scripts-subsuperscriptgapmin%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = v +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v1 = 11 * mathfont.em +v2 = 3 * mathfont.em +f = mathfont.create("scripts-subsuperscriptgapmin%d-superscriptbottommaxwithsubscript%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = v1 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = v2 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 4 * mathfont.em +f = mathfont.create("scripts-subscripttopmax%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = v +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 8 * mathfont.em +f = mathfont.create("scripts-superscriptbottommin%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = v +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 9 * mathfont.em +f = mathfont.create("scripts-subscriptbaselinedropmin%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = v +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = 0 +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) + +v = 10 * mathfont.em +f = mathfont.create("scripts-superscriptbaselinedropmax%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.SpaceAfterScript = 0 +f.math.SubSuperscriptGapMin = 0 +f.math.SubscriptBaselineDropMin = 0 +f.math.SubscriptShiftDown = 0 +f.math.SubscriptTopMax = 0 +f.math.SuperscriptBaselineDropMax = v +f.math.SuperscriptBottomMaxWithSubscript = 0 +f.math.SuperscriptBottomMin = 0 +f.math.SuperscriptShiftUp = 0 +f.math.SuperscriptShiftUpCramped = 0 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/stacks.py b/testing/web-platform/tests/mathml/tools/stacks.py new file mode 100755 index 0000000000..b2ecec5386 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/stacks.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +v1 = 5 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("stack-bottomdisplaystyleshiftdown%d-axisheight%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.StackBottomDisplayStyleShiftDown = v1 +f.math.StackBottomShiftDown = 0 +f.math.StackDisplayStyleGapMin = 0 +f.math.StackGapMin = 0 +f.math.StackTopDisplayStyleShiftUp = 0 +f.math.StackTopShiftUp = 0 +mathfont.save(f) + +v1 = 6 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("stack-bottomshiftdown%d-axisheight%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.StackBottomDisplayStyleShiftDown = 0 +f.math.StackBottomShiftDown = v1 +f.math.StackDisplayStyleGapMin = 0 +f.math.StackGapMin = 0 +f.math.StackTopDisplayStyleShiftUp = 0 +f.math.StackTopShiftUp = 0 +mathfont.save(f) + +v = 4 * mathfont.em +f = mathfont.create("stack-displaystylegapmin%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.StackBottomDisplayStyleShiftDown = 0 +f.math.StackBottomShiftDown = 0 +f.math.StackDisplayStyleGapMin = v +f.math.StackGapMin = 0 +f.math.StackTopDisplayStyleShiftUp = 0 +f.math.StackTopShiftUp = 0 +mathfont.save(f) + +v = 8 * mathfont.em +f = mathfont.create("stack-gapmin%d" % v, + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = 0 +f.math.StackBottomDisplayStyleShiftDown = 0 +f.math.StackBottomShiftDown = 0 +f.math.StackDisplayStyleGapMin = 0 +f.math.StackGapMin = v +f.math.StackTopDisplayStyleShiftUp = 0 +f.math.StackTopShiftUp = 0 +mathfont.save(f) + +v1 = 3 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("stack-topdisplaystyleshiftup%d-axisheight%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.StackBottomDisplayStyleShiftDown = 0 +f.math.StackBottomShiftDown = 0 +f.math.StackDisplayStyleGapMin = 0 +f.math.StackGapMin = 0 +f.math.StackTopDisplayStyleShiftUp = v1 +f.math.StackTopShiftUp = 0 +mathfont.save(f) + +v1 = 9 * mathfont.em +v2 = 1 * mathfont.em +f = mathfont.create("stack-topshiftup%d-axisheight%d" % (v1, v2), + "Copyright (c) 2016 MathML Association") +f.math.AxisHeight = v2 +f.math.StackBottomDisplayStyleShiftDown = 0 +f.math.StackBottomShiftDown = 0 +f.math.StackDisplayStyleGapMin = 0 +f.math.StackGapMin = 0 +f.math.StackTopDisplayStyleShiftUp = 0 +f.math.StackTopShiftUp = v1 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/stretchstacks.py b/testing/web-platform/tests/mathml/tools/stretchstacks.py new file mode 100755 index 0000000000..e6c0b8b4dd --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/stretchstacks.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +arrowCodePoint = 0x2192 # horizontal stretch operator + +v = 3 * mathfont.em +f = mathfont.create("stretchstack-bottomshiftdown%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, arrowCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = v +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 11 * mathfont.em +f = mathfont.create("stretchstack-gapbelowmin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, arrowCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = v +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 5 * mathfont.em +f = mathfont.create("stretchstack-topshiftup%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, arrowCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = v +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 7 * mathfont.em +f = mathfont.create("stretchstack-gapabovemin%d" % v, + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, arrowCodePoint) +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = v +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/stretchy-centered-on-baseline.py b/testing/web-platform/tests/mathml/tools/stretchy-centered-on-baseline.py new file mode 100755 index 0000000000..5ccfca3f1e --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/stretchy-centered-on-baseline.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +# Create a WOFF font with glyphs for all the operator strings. +font = mathfont.create("stretchy-centered-on-baseline", + "Copyright (c) 2023 Igalia S.L.") + +# Set parameters for stretchy tests. +font.math.MinConnectorOverlap = mathfont.em // 2 + +# Make sure that underover parameters don't add extra spacing. +font.math.LowerLimitBaselineDropMin = 0 +font.math.LowerLimitGapMin = 0 +font.math.StretchStackBottomShiftDown = 0 +font.math.StretchStackGapAboveMin = 0 +font.math.UnderbarVerticalGap = 0 +font.math.UnderbarExtraDescender = 0 +font.math.UpperLimitBaselineRiseMin = 0 +font.math.UpperLimitGapMin = 0 +font.math.StretchStackTopShiftUp = 0 +font.math.StretchStackGapBelowMin = 0 +font.math.OverbarVerticalGap = 0 +font.math.AccentBaseHeight = 0 +font.math.OverbarExtraAscender = 0 + +# These two characters will be stretchable in both directions. +horizontalArrow = 0x295A # LEFTWARDS HARPOON WITH BARB UP FROM BAR +verticalArrow = 0x295C # UPWARDS HARPOON WITH BARB RIGHT FROM BAR + +mathfont.createSizeVariants(font, aUsePUA=True, aCenterOnBaseline=True) + +# Add stretchy vertical and horizontal constructions for the horizontal arrow. +mathfont.createSquareGlyph(font, horizontalArrow) +mathfont.createStretchy(font, horizontalArrow, True) +mathfont.createStretchy(font, horizontalArrow, False) + +# Add stretchy vertical and horizontal constructions for the vertical arrow. +mathfont.createSquareGlyph(font, verticalArrow) +mathfont.createStretchy(font, verticalArrow, True) +mathfont.createStretchy(font, verticalArrow, False) + +mathfont.save(font) diff --git a/testing/web-platform/tests/mathml/tools/stretchy.py b/testing/web-platform/tests/mathml/tools/stretchy.py new file mode 100755 index 0000000000..34530f5792 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/stretchy.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +# Create a WOFF font with glyphs for all the operator strings. +font = mathfont.create("stretchy", "Copyright (c) 2021 Igalia S.L.") + +# Set parameters for stretchy tests. +font.math.MinConnectorOverlap = mathfont.em // 2 + +# Make sure that underover parameters don't add extra spacing. +font.math.LowerLimitBaselineDropMin = 0 +font.math.LowerLimitGapMin = 0 +font.math.StretchStackBottomShiftDown = 0 +font.math.StretchStackGapAboveMin = 0 +font.math.UnderbarVerticalGap = 0 +font.math.UnderbarExtraDescender = 0 +font.math.UpperLimitBaselineRiseMin = 0 +font.math.UpperLimitGapMin = 0 +font.math.StretchStackTopShiftUp = 0 +font.math.StretchStackGapBelowMin = 0 +font.math.OverbarVerticalGap = 0 +font.math.AccentBaseHeight = 0 +font.math.OverbarExtraAscender = 0 + +# These two characters will be stretchable in both directions. +horizontalArrow = 0x295A # LEFTWARDS HARPOON WITH BARB UP FROM BAR +verticalArrow = 0x295C # UPWARDS HARPOON WITH BARB RIGHT FROM BAR + +mathfont.createSizeVariants(font, aUsePUA=True, aCenterOnBaseline=False) + +# Add stretchy vertical and horizontal constructions for the horizontal arrow. +mathfont.createSquareGlyph(font, horizontalArrow) +mathfont.createStretchy(font, horizontalArrow, True) +mathfont.createStretchy(font, horizontalArrow, False) + +# Add stretchy vertical and horizontal constructions for the vertical arrow. +mathfont.createSquareGlyph(font, verticalArrow) +mathfont.createStretchy(font, verticalArrow, True) +mathfont.createStretchy(font, verticalArrow, False) + +mathfont.save(font) diff --git a/testing/web-platform/tests/mathml/tools/underover.py b/testing/web-platform/tests/mathml/tools/underover.py new file mode 100755 index 0000000000..469829cba2 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/underover.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +breveCodePoint = 0x2D8 # accent operator +degreeCodePoint = 0xB0 # nonaccent operator +accentBaseHeight = 4 * mathfont.em + +v = 3 * mathfont.em +f = mathfont.create("underover-accentbaseheight%d-overbarextraascender%d" % (accentBaseHeight, v), + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, breveCodePoint) +mathfont.createSquareGlyph(f, degreeCodePoint) +f.math.AccentBaseHeight = accentBaseHeight +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = v +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 11 * mathfont.em +f = mathfont.create("underover-accentbaseheight%d-overbarverticalgap%d" % (accentBaseHeight, v), + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, breveCodePoint) +mathfont.createSquareGlyph(f, degreeCodePoint) +f.math.AccentBaseHeight = accentBaseHeight +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = v +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 5 * mathfont.em +f = mathfont.create("underover-accentbaseheight%d-underbarextradescender%d" % (accentBaseHeight, v), + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, breveCodePoint) +mathfont.createSquareGlyph(f, degreeCodePoint) +f.math.AccentBaseHeight = accentBaseHeight +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = v +f.math.UnderbarVerticalGap = 0 +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) + +v = 7 * mathfont.em +f = mathfont.create("underover-accentbaseheight%d-underbarverticalgap%d" % (accentBaseHeight, v), + "Copyright (c) 2016 MathML Association") +mathfont.createSquareGlyph(f, breveCodePoint) +mathfont.createSquareGlyph(f, degreeCodePoint) +f.math.AccentBaseHeight = accentBaseHeight +f.math.LowerLimitBaselineDropMin = 0 +f.math.LowerLimitGapMin = 0 +f.math.OverbarExtraAscender = 0 +f.math.OverbarVerticalGap = 0 +f.math.StretchStackBottomShiftDown = 0 +f.math.StretchStackGapAboveMin = 0 +f.math.StretchStackGapBelowMin = 0 +f.math.StretchStackTopShiftUp = 0 +f.math.UnderbarExtraDescender = 0 +f.math.UnderbarVerticalGap = v +f.math.UpperLimitBaselineRiseMin = 0 +f.math.UpperLimitGapMin = 0 +mathfont.save(f) diff --git a/testing/web-platform/tests/mathml/tools/use-typo-lineheight.py b/testing/web-platform/tests/mathml/tools/use-typo-lineheight.py new file mode 100755 index 0000000000..6509a65175 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/use-typo-lineheight.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import fontforge + +font = fontforge.font() +font.em = 1000 +typoLineHeight = 2300 +winHeight = 5000 +name = "font-lineheight%d-typolineheight%d" % (winHeight, typoLineHeight) +font.fontname = name +font.familyname = name +font.fullname = name +font.copyright = "Copyright (c) 2016 MathML Association" + +glyph = font.createChar(ord(" "), "space") +glyph.width = 1000 +glyph = font.createChar(ord("O")) +pen = glyph.glyphPen() +pen.moveTo(0, -200) +pen.lineTo(0, 800) +pen.lineTo(1000, 800) +pen.lineTo(1000, -200) +pen.closePath() + +font.os2_typoascent_add = False +font.os2_typoascent = 800 +font.os2_typodescent_add = False +font.os2_typodescent = -200 +font.os2_typolinegap = typoLineHeight - \ + (font.os2_typoascent - font.os2_typodescent) + +font.hhea_ascent = winHeight // 2 +font.hhea_ascent_add = False +font.hhea_descent = -winHeight // 2 +font.hhea_descent_add = False +font.hhea_linegap = 0 + +font.os2_winascent = winHeight // 2 +font.os2_winascent_add = False +font.os2_windescent = winHeight // 2 +font.os2_windescent_add = False + +font.os2_use_typo_metrics = True + +path = "../../fonts/math/lineheight%d-typolineheight%d.woff" % ( + winHeight, typoLineHeight) +print("Generating %s..." % path, end="") +font.generate(path) +if font.validate() == 0: + print(" done.") +else: + print(" validation error!") + exit(1) diff --git a/testing/web-platform/tests/mathml/tools/utils/__init__.py b/testing/web-platform/tests/mathml/tools/utils/__init__.py new file mode 100644 index 0000000000..c1e4c6d32e --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/utils/__init__.py @@ -0,0 +1 @@ +# This file is required for Python to search this directory for modules. diff --git a/testing/web-platform/tests/mathml/tools/utils/mathfont.py b/testing/web-platform/tests/mathml/tools/utils/mathfont.py new file mode 100644 index 0000000000..3eff0ac03d --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/utils/mathfont.py @@ -0,0 +1,232 @@ +import fontforge + +PUA_startCodePoint = 0xE000 +em = 1000 + + +def create(aName, aCopyRight): + print("Generating %s.woff..." % aName, end="") + mathFont = fontforge.font() + mathFont.fontname = aName + mathFont.familyname = aName + mathFont.fullname = aName + mathFont.copyright = aCopyRight + mathFont.encoding = "UnicodeFull" + + # Create a space character. Also force the creation of some MATH subtables + # so that OTS will not reject the MATH table. + g = mathFont.createChar(ord(" "), "space") + g.width = em + g.italicCorrection = 0 + g.topaccent = 0 + g.mathKern.bottomLeft = tuple([(0, 0)]) + g.mathKern.bottomRight = tuple([(0, 0)]) + g.mathKern.topLeft = tuple([(0, 0)]) + g.mathKern.topRight = tuple([(0, 0)]) + mathFont[ord(" ")].horizontalVariants = "space" + mathFont[ord(" ")].verticalVariants = "space" + return mathFont + + +def drawRectangleGlyph(glyph, width, ascent, descent=0, padding_left=0): + p = glyph.glyphPen() + p.moveTo(padding_left, -descent) + p.lineTo(padding_left, ascent) + p.lineTo(padding_left + width, ascent) + p.lineTo(padding_left + width, -descent) + p.closePath() + glyph.width = padding_left + width + + +def createSquareGlyph(aFont, aCodePoint): + g = aFont.createChar(aCodePoint) + drawRectangleGlyph(g, em, em, 0) + + +def drawHexaDigit(aGlyph, aX, aValue): + t = em / 10 + p = aGlyph.glyphPen(replace=False) + if aValue == 0: + p.moveTo(aX + t, t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.closePath() + elif aValue == 1: + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + elif aValue == 2: + p.moveTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + t, em / 2) + p.lineTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + elif aValue == 3: + p.moveTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + t, t) + p.endPath() + p.moveTo(aX + t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 4: + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + p.moveTo(aX + t, em - t) + p.lineTo(aX + t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 5: + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, em / 2) + p.lineTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + t, t) + p.endPath() + elif aValue == 6: + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + 2.5 * t, em / 2) + p.endPath() + elif aValue == 7: + p.moveTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + elif aValue == 8: + p.moveTo(aX + t, t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.closePath() + p.moveTo(aX + 2.5 * t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 9: + p.moveTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 10: # A + p.moveTo(aX + t, t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + p.moveTo(aX + 2.5 * t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 11: # b + p.moveTo(aX + t, em - t) + p.lineTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + 2.5 * t, em / 2) + p.endPath() + elif aValue == 12: # C + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + elif aValue == 13: # d + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + em / 2 - t, t) + p.lineTo(aX + t, t) + p.lineTo(aX + t, em / 2) + p.lineTo(aX + em / 2 - 2.5 * t, em / 2) + p.endPath() + elif aValue == 14: # E + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, t) + p.lineTo(aX + em / 2 - t, t) + p.endPath() + p.moveTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + 2.5 * t, em / 2) + p.endPath() + elif aValue == 15: # F + p.moveTo(aX + em / 2 - t, em - t) + p.lineTo(aX + t, em - t) + p.lineTo(aX + t, t) + p.endPath() + p.moveTo(aX + em / 2 - t, em / 2) + p.lineTo(aX + 2.5 * t, em / 2) + p.endPath() + + +def createGlyphFromValue(aFont, aCodePoint): + g = aFont.createChar(aCodePoint) + value = aCodePoint + for i in range(0, 5): + drawHexaDigit(g, (5 - (i + 1)) * em / 2, value % 16) + value /= 16 + g.width = 5 * em // 2 + g.stroke("circular", em / 10, "square", "miter", "cleanup") + + +def createSizeVariants(aFont, aUsePUA=False, aCenterOnBaseline=False): + if aUsePUA: + codePoint = PUA_startCodePoint + else: + codePoint = -1 + for size in (0, 1, 2, 3): + g = aFont.createChar(codePoint, "v%d" % size) + if aCenterOnBaseline: + drawRectangleGlyph(g, em, (size + 1) * em / 2, (size + 1) * em / 2) + else: + drawRectangleGlyph(g, em, (size + 1) * em, 0) + if aUsePUA: + codePoint += 1 + g = aFont.createChar(codePoint, "h%d" % size) + if aCenterOnBaseline: + drawRectangleGlyph(g, (size + 1) * em, em / 2, em / 2) + else: + drawRectangleGlyph(g, (size + 1) * em, em, 0) + if aUsePUA: + codePoint += 1 + + +def createStretchy(aFont, codePoint, isHorizontal): + if isHorizontal: + aFont[codePoint].horizontalVariants = "h0 h1 h2 h3" + # Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) + aFont[codePoint].horizontalComponents = \ + (("h2", False, 0, em, 3 * em), + ("h1", True, em, em, 2 * em)) + else: + aFont[codePoint].verticalVariants = "v0 v1 v2 v3" + # Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) + aFont[codePoint].verticalComponents = \ + (("v2", False, 0, em, 3 * em), + ("v1", True, em, em, 2 * em)) + + +def save(aFont): + aFont.em = em + aFont.ascent = aFont.hhea_ascent = aFont.os2_typoascent = em + aFont.descent = aFont.hhea_descent = aFont.os2_typodescent = 0 + # aFont.os2_winascent, aFont.os2_windescent should be the maximum of + # ascent/descent for all glyphs. Does fontforge compute them automatically? + aFont.hhea_ascent_add = aFont.hhea_descent_add = 0 + aFont.os2_typoascent_add = aFont.os2_typodescent_add = 0 + aFont.os2_winascent_add = aFont.os2_windescent_add = 0 + aFont.os2_use_typo_metrics = True + aFont.generate("../../fonts/math/%s.woff" % aFont.fontname) + if aFont.validate() == 0: + print(" done.") + else: + print(" validation error!") + exit(1) diff --git a/testing/web-platform/tests/mathml/tools/utils/misc.py b/testing/web-platform/tests/mathml/tools/utils/misc.py new file mode 100644 index 0000000000..cc3b21906e --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/utils/misc.py @@ -0,0 +1,35 @@ +import os +import progressbar +from urllib.request import urlopen + +UnicodeXMLURL = "https://raw.githubusercontent.com/w3c/xml-entities/gh-pages/unicode.xml" +InlineAxisOperatorsURL = "https://w3c.github.io/mathml-core/tables/inline-axis-operators.txt" + + +def downloadWithProgressBar(url, outputDirectory="./", forceDownload=False): + + baseName = os.path.basename(url) + fileName = os.path.join(outputDirectory, baseName) + + if not forceDownload and os.path.exists(fileName): + return fileName + + request = urlopen(url) + totalSize = int(request.info().get('Content-Length').strip()) + bar = progressbar.ProgressBar(maxval=totalSize).start() + + chunkSize = 16 * 1024 + downloaded = 0 + print("Downloading %s" % url) + os.umask(0o002) + with open(fileName, 'wb') as fp: + while True: + chunk = request.read(chunkSize) + downloaded += len(chunk) + bar.update(downloaded) + if not chunk: + break + fp.write(chunk) + bar.finish() + + return fileName diff --git a/testing/web-platform/tests/mathml/tools/xHeight.py b/testing/web-platform/tests/mathml/tools/xHeight.py new file mode 100755 index 0000000000..ad0f8b9e02 --- /dev/null +++ b/testing/web-platform/tests/mathml/tools/xHeight.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +from utils import mathfont +import fontforge + +v = mathfont.em / 2 +f = mathfont.create("xheight%d" % v, + "Copyright (c) 2016 MathML Association") +g = f.createChar(ord('x')) +mathfont.drawRectangleGlyph(g, mathfont.em, v, 0) +assert f.xHeight == v, "Bad x-height value!" +mathfont.save(f) -- cgit v1.2.3