Files
KaTeX/test/__snapshots__/mathml-spec.js.snap
Erik Demaine 1e645198f7 Fix ligatures vs. \tt (#1379)
* Fix ligatures not always triggering

Example: \text{\rm --} would not cause ligature but should

* Remove ligatures in \texttt mode

* Add screenshot tests

* Fix MathML ligatures

* Fix type

* Handle \text... fonts in MathML building

* Remove leftover console deubgging
2018-06-04 20:29:25 -04:00

774 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`A MathML builder \\text fonts become mathvariant 1`] = `
<math>
<semantics>
<mrow>
<mtext>
roman
</mtext>
<mrow>
<mtext mathvariant="italic">
italic
</mtext>
<mrow>
<mtext mathvariant="bold-italic">
bold
</mtext>
<mtext>
</mtext>
<mtext mathvariant="bold-italic">
italic
</mtext>
</mrow>
</mrow>
<mtext mathvariant="bold">
bold
</mtext>
<mrow>
<mtext mathvariant="sans-serif">
ss
</mtext>
<mrow>
<mtext mathvariant="sans-serif-italic">
italic
</mtext>
<mrow>
<mtext mathvariant="sans-serif-bold-italic">
bold
</mtext>
<mtext>
</mtext>
<mtext mathvariant="sans-serif-bold-italic">
italic
</mtext>
</mrow>
</mrow>
<mtext mathvariant="bold-sans-serif">
bold
</mtext>
</mrow>
<mrow>
<mtext mathvariant="monospace">
tt
</mtext>
<mrow>
<mtext mathvariant="monospace">
italic
</mtext>
<mrow>
<mtext mathvariant="monospace">
bold
</mtext>
<mtext>
</mtext>
<mtext mathvariant="monospace">
italic
</mtext>
</mrow>
</mrow>
<mtext mathvariant="monospace">
bold
</mtext>
</mrow>
</mrow>
<annotation encoding="application/x-tex">
\\text{roman\\textit{italic\\textbf{bold italic}}\\textbf{bold}\\textsf{ss\\textit{italic\\textbf{bold italic}}\\textbf{bold}}\\texttt{tt\\textit{italic\\textbf{bold italic}}\\textbf{bold}}}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder accents turn into <mover accent="true"> in MathML 1`] = `
<math>
<semantics>
<mrow>
<mover accent="true">
<mi>
u
</mi>
<mo>
¨
</mo>
</mover>
<mi>
b
</mi>
<mi>
e
</mi>
<mi>
r
</mi>
<mi>
f
</mi>
<mi>
i
</mi>
<mi>
a
</mi>
<mi>
n
</mi>
<mi>
c
</mi>
<mover accent="true">
<mi>
e
</mi>
<mo>
ˊ
</mo>
</mover>
<mi>
e
</mi>
</mrow>
<annotation encoding="application/x-tex">
über fiancée
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder ligatures render properly 1`] = `
<math>
<semantics>
<mrow>
<mtext>
Hi—-”’
</mtext>
<mo>
</mo>
<mo>
</mo>
<mtext mathvariant="monospace">
\`\`Hi----&#x27;&#x27;
</mtext>
<mrow>
<mtext>
\`\`
</mtext>
<mtext mathvariant="monospace">
Hi
</mtext>
<mtext>
---
</mtext>
<mtext mathvariant="monospace">
-
</mtext>
<mtext>
&#x27;&#x27;
</mtext>
<mtext mathvariant="monospace">
</mtext>
</mrow>
</mrow>
<annotation encoding="application/x-tex">
\\text{\`\`\`Hi----&#x27;&#x27;&#x27;}--\\texttt{\`\`\`Hi----&#x27;&#x27;&#x27;}\\text{\\tt \`\`\`Hi----&#x27;&#x27;&#x27;}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder normal spaces render normally 1`] = `
<math>
<semantics>
<mrow>
<mspace width="1em">
</mspace>
<mspace width="0.431em">
</mspace>
</mrow>
<annotation encoding="application/x-tex">
\\kern1em\\kern1ex
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should concatenate digits into single <mn> 1`] = `
<math>
<semantics>
<mrow>
<mi>
sin
</mi>
<mo>
</mo>
<mi>
α
</mi>
<mo>
=
</mo>
<mn>
0.34
</mn>
</mrow>
<annotation encoding="application/x-tex">
\\sin{\\alpha}=0.34
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should generate <mphantom> nodes for \\phantom 1`] = `
<math>
<semantics>
<mrow>
<mphantom>
<mi>
x
</mi>
</mphantom>
</mrow>
<annotation encoding="application/x-tex">
\\phantom{x}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should generate the right types of nodes 1`] = `
<math>
<semantics>
<mrow>
<mi>
sin
</mi>
<mo>
</mo>
<mi>
x
</mi>
<mo>
+
</mo>
<mn>
1
</mn>
<mtext>
&ThickSpace;
</mtext>
<mtext>
a
</mtext>
</mrow>
<annotation encoding="application/x-tex">
\\sin{x}+1\\;\\text{a}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should make prime operators into <mo> nodes 1`] = `
<math>
<semantics>
<mrow>
<msup>
<mi>
f
</mi>
<mo mathvariant="normal">
</mo>
</msup>
</mrow>
<annotation encoding="application/x-tex">
f&#x27;
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should output \\limsup_{x \\rightarrow \\infty} correctly in \\textstyle 1`] = `
<math>
<semantics>
<mrow>
<msub>
<mo>
<mi mathvariant="normal">
lim&ThinSpace;sup
</mi>
<mo>
</mo>
</mo>
<mrow>
<mi>
x
</mi>
<mo>
</mo>
<mi mathvariant="normal">
</mi>
</mrow>
</msub>
</mrow>
<annotation encoding="application/x-tex">
\\limsup_{x \\rightarrow \\infty}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should output \\limsup_{x \\rightarrow \\infty} in displaymode correctly 1`] = `
<math>
<semantics>
<mrow>
<munder>
<mo>
<mi mathvariant="normal">
lim&ThinSpace;sup
</mi>
<mo>
</mo>
</mo>
<mrow>
<mi>
x
</mi>
<mo>
</mo>
<mi mathvariant="normal">
</mi>
</mrow>
</munder>
</mrow>
<annotation encoding="application/x-tex">
\\limsup_{x \\rightarrow \\infty}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should render boldsymbol with the correct mathvariants 1`] = `
<math>
<semantics>
<mrow>
<mi mathvariant="bold-italic">
A
</mi>
<mi mathvariant="bold-italic">
x
</mi>
<mn mathvariant="bold-italic">
2
</mn>
<mi mathvariant="bold-italic">
k
</mi>
<mi mathvariant="bold-italic">
ω
</mi>
<mi mathvariant="bold-italic">
Ω
</mi>
<mi mathvariant="bold-italic">
ı
</mi>
<mo mathvariant="bold-italic">
+
</mo>
</mrow>
<annotation encoding="application/x-tex">
\\boldsymbol{Ax2k\\omega\\Omega\\imath+}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should render mathchoice as if there was nothing 1`] = `
<math>
<semantics>
<mrow>
<mstyle scriptlevel="0"
displaystyle="true"
>
<mrow>
<munderover>
<mo>
</mo>
<mrow>
<mi>
k
</mi>
<mo>
=
</mo>
<mn>
0
</mn>
</mrow>
<mi mathvariant="normal">
</mi>
</munderover>
<msup>
<mi>
x
</mi>
<mi>
k
</mi>
</msup>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">
\\displaystyle\\mathchoice{\\sum_{k = 0}^{\\infty} x^k}{T}{S}{SS}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should render mathchoice as if there was nothing 2`] = `
<math>
<semantics>
<mrow>
<msubsup>
<mo>
</mo>
<mrow>
<mi>
k
</mi>
<mo>
=
</mo>
<mn>
0
</mn>
</mrow>
<mi mathvariant="normal">
</mi>
</msubsup>
<msup>
<mi>
x
</mi>
<mi>
k
</mi>
</msup>
</mrow>
<annotation encoding="application/x-tex">
\\mathchoice{D}{\\sum_{k = 0}^{\\infty} x^k}{S}{SS}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should render mathchoice as if there was nothing 3`] = `
<math>
<semantics>
<mrow>
<msub>
<mi>
x
</mi>
<mi>
T
</mi>
</msub>
</mrow>
<annotation encoding="application/x-tex">
x_{\\mathchoice{D}{T}{\\sum_{k = 0}^{\\infty} x^k}{SS}}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should render mathchoice as if there was nothing 4`] = `
<math>
<semantics>
<mrow>
<msub>
<mi>
x
</mi>
<msub>
<mi>
y
</mi>
<mi>
T
</mi>
</msub>
</msub>
</mrow>
<annotation encoding="application/x-tex">
x_{y_{\\mathchoice{D}{T}{S}{\\sum_{k = 0}^{\\infty} x^k}}}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should set href attribute for href appropriately 1`] = `
<math>
<semantics>
<mrow>
<mi href="http://example.org">
α
</mi>
</mrow>
<annotation encoding="application/x-tex">
\\href{http://example.org}{\\alpha}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should use <menclose> for colorbox 1`] = `
<math>
<semantics>
<mrow>
<menclose mathbackground="red">
<mtext>
b
</mtext>
</menclose>
</mrow>
<annotation encoding="application/x-tex">
\\colorbox{red}{b}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should use <mpadded> for raisebox 1`] = `
<math>
<semantics>
<mrow>
<mpadded voffset="0.25em">
<mtext>
b
</mtext>
</mpadded>
</mrow>
<annotation encoding="application/x-tex">
\\raisebox{0.25em}{b}
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should use <msupsub> for regular operators 1`] = `
<math>
<semantics>
<mrow>
<mstyle scriptlevel="0"
displaystyle="false"
>
<msubsup>
<mo>
</mo>
<mi>
a
</mi>
<mi>
b
</mi>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">
\\textstyle\\sum_a^b
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder should use <munderover> for large operators 1`] = `
<math>
<semantics>
<mrow>
<mstyle scriptlevel="0"
displaystyle="true"
>
<munderover>
<mo>
</mo>
<mi>
a
</mi>
<mi>
b
</mi>
</munderover>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">
\\displaystyle\\sum_a^b
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder special spaces render specially 1`] = `
<math>
<semantics>
<mrow>
<mtext>
&ThinSpace;
</mtext>
<mtext>
&ThinSpace;
</mtext>
<mtext>
&MediumSpace;
</mtext>
<mtext>
&MediumSpace;
</mtext>
<mtext>
&ThickSpace;
</mtext>
<mtext>
&ThickSpace;
</mtext>
<mtext>
&NegativeThinSpace;
</mtext>
<mtext>
&NegativeThinSpace;
</mtext>
<mtext>
&NegativeMediumSpace;
</mtext>
<mtext>
&NegativeThickSpace;
</mtext>
<mtext>
&VeryThinSpace;
</mtext>
<mtext>
&ThinSpace;
</mtext>
<mtext>
&MediumSpace;
</mtext>
<mtext>
&ThickSpace;
</mtext>
<mtext>
&NegativeVeryThinSpace;
</mtext>
<mtext>
&NegativeThinSpace;
</mtext>
<mtext>
&NegativeMediumSpace;
</mtext>
<mtext>
&NegativeThickSpace;
</mtext>
</mrow>
<annotation encoding="application/x-tex">
\\,\\thinspace\\:\\medspace\\;\\thickspace\\!\\negthinspace\\negmedspace\\negthickspace\\mkern1mu\\mkern3mu\\mkern4mu\\mkern5mu\\mkern-1mu\\mkern-3mu\\mkern-4mu\\mkern-5mu
</annotation>
</semantics>
</math>
`;
exports[`A MathML builder tags use <mlabeledtr> 1`] = `
<math>
<semantics>
<mtable side="right">
<mlabeledtr>
<mtd>
<mtext>
(hi)
</mtext>
</mtd>
<mtd>
<mrow>
<mi>
x
</mi>
<mo>
+
</mo>
<msup>
<mi>
y
</mi>
<mn>
2
</mn>
</msup>
</mrow>
</mtd>
</mlabeledtr>
</mtable>
<annotation encoding="application/x-tex">
\\tag{hi} x+y^2
</annotation>
</semantics>
</math>
`;