Fork me on GitHub!

MathQuill Tests local test page

MathQuill Editables

In all editable fields, the selection should clear and ghost parens should solidify if you click outside, but not if you switch tabs/windows and switch back to this page.

Initial LaTeX
\frac{d}{dx}\sqrt{x}=\frac{1}{2\sqrt{x}} lolwut $a^2 + b^2 = c^2$. Also, awesomesauce: $\int_0^1 \sin x dx. \sqrt{\MathQuillMathField{x^2+y^2}}

Touch taps/clicks/mousedown to drag should work anywhere in the blue box:

x_{very\ long\ thing}^2 + a_0 = 0

Redrawing

\sqrt{} should look the same as \sqrt{\pi\sqrt\sqrt\frac12}

Behavior Options

x_a^b + \frac{\sqrt[n]{x}}{\frac{1}{2}}

Space should behave like Tab, left and right should go through the upper block, sums should start with n=, exponents should require an base, any of +-=<> should break out of an exponent, pi, theta, sqrt, and sum should all be auto-commands, but only should be the only auto-operator name (so sin etc. shouldn't automatically become non-italicized).

Up/Down seeking and caching

\frac{1}{\sqrt \sqrt \sqrt \sqrt \sqrt \sqrt x}

↑ If you hit down from next to the 1, you should end up inside one of the square roots. If you hit up from the right of the x and then hit down again, you should end up where you were.

Horizontal overflow

\frac{d}{dx}\sqrt{x}=\frac{d}{dx}x^{\frac{1}{2}}=\frac{1}{2}x^{-\frac{1}{2}}=\frac{1}{2\sqrt{x}} (for comparison: )

Selection Tests

lolwut $a^2 + b^2 = c^2$. $\sqrt{ \left( \frac{1}{2} \right) }$. Also, awesomesauce: $\int_0^1 \sin x dx.

Even in IE<9, the background color of the parens and square root radical should be the background color of the selection.

Static math with mouseEvents set to false should not interact with the mouse: 12 + 34

Even in the case where it has an empty element: \sqrt{}

Dynamic mathquill-ification

Initial LaTeX
\frac{d}{dx}\sqrt{x} = \frac{d}{dx}x^{\frac{1}{2}} = \frac{1}{2}x^{-\frac{1}{2}} = \frac{1}{2\sqrt{x}} \frac{d}{dx}\sqrt{x} = \frac{d}{dx}x^{\frac{1}{2}} = \frac{1}{2}x^{-\frac{1}{2}} = \frac{1}{2\sqrt{x}} \frac{d}{dx}\sqrt{x} = \frac{d}{dx}x^{\frac{1}{2}} = \frac{1}{2}x^{-\frac{1}{2}} = \frac{1}{2\sqrt{x}}
\frac{ \text{apples} }{ \text{oranges} } = \text{NaN} \frac{ \text{apples} }{ \text{oranges} } = \text{NaN} \frac{ \text{apples} }{ \text{oranges} } = \text{NaN}
MQ(...).reflow()
\sqrt{ \left ( \frac{x^2 + y^2}{2} \right ) } + \binom{n}{k} + \begin{bmatrix}x&y\\1&2\end{bmatrix} \sqrt{ \left ( \frac{x^2 + y^2}{2} \right ) } + \binom{n}{k} + \begin{bmatrix}x&y\\1&2\end{bmatrix} \sqrt{ \left ( \frac{x^2 + y^2}{2} \right ) } + \binom{n}{k} + \begin{bmatrix}x&y\\1&2\end{bmatrix}

Static LaTeX rendering (.mathquill-static-math) tests

^{\frac{as}{ }df}^{\frac{as}{ }df}
e^{i\pi}+1=0e^{i\pi}+1=0
\sqrt[n]{1}\sqrt[n]{1}
\sin ^2x+\sin ^2\left(x\right)+\sin ^2(x)\sin ^2x+\sin ^2\left(x\right)+\sin ^2(x)
12a\sin b12a\sin b
1a^2 \sin b1a^2 \sin b
a + \sin ba + \sin b
a + ba + b
\sum\sin\sum\sin
\sum a\sum a
(\sin)(\sin)
\left(\sin\right)\left(\sin\right)
(x)\sin(x)(x)\sin(x)
\left(x\right)\sin\left(x\right)\left(x\right)\sin\left(x\right)
a \sin ba \sin b
-1 + +-2-1 + +-2
\left ( n+1 \right ) + \frac{1}{\frac{n}{k}} + \binom{n}{k}\left ( n+1 \right ) + \frac{1}{\frac{n}{k}} + \binom{n}{k}
x_{\frac{1}{\frac{2}{3}}}^{\frac{\frac{1}{2}}{3}}x_{\frac{1}{\frac{2}{3}}}^{\frac{\frac{1}{2}}{3}}
\left(\frac{\frac{\frac{1}{2}}{\frac{3}{4}}}{\frac{\frac{5}{6}}{\frac{7}{8}}}\right)\left(\frac{\frac{\frac{1}{2}}{\frac{3}{4}}}{\frac{\frac{5}{6}}{\frac{7}{8}}}\right)
\left| a + \left| b \right| \right|\left| a + \left| b \right| \right|
\sqrt{x}+\sqrt{\frac{x}{\frac{ }{\frac{ }{ }}}}+\sqrt{\frac{x}{\frac{ }{\frac{ }{\frac{ }{\frac{ }{ }}}}}}\sqrt{x}+\sqrt{\frac{x}{\frac{ }{\frac{ }{ }}}}+\sqrt{\frac{x}{\frac{ }{\frac{ }{\frac{ }{\frac{ }{ }}}}}}
1+\sum_0^n+\sum_{i=0123}^n+\sum_0^{wordiness}1+\sum_0^n+\sum_{i=0123}^n+\sum_0^{wordiness}^M
x\ \ \ +\ \ \ yx\ \ \ +\ \ \ y^M
\sum _{n=0}^3\cos x\sum _{n=0}^3\cos x^M
\vec x + \tilde x + \vec A + \tilde A + \vec{abcd} + \tilde{abcd}\vec x + \tilde x + \vec A + \tilde A + \vec{abcd} + \tilde{abcd}^M
\int _{\phi =0}^{2\pi }\int _{\theta =0}^{\pi }\int _{r=0}^{\infty }f(r,\theta ,\phi )r^2\sin \theta drd\theta d\phi \int _{\phi =0}^{2\pi }\int _{\theta =0}^{\pi }\int _{r=0}^{\infty }f(r,\theta ,\phi )r^2\sin \theta drd\theta d\phi
\int_0^{\frac{\frac{1}{2}}{3}} \int_0^{\frac{1}{\frac{2}{3}}} \int_0^{\frac{1}{\frac{2}{\frac{3}{\frac{4}{5}}}}}\int_0^{\frac{\frac{1}{2}}{3}} \int_0^{\frac{1}{\frac{2}{3}}} \int_0^{\frac{1}{\frac{2}{\frac{3}{\frac{4}{5}}}}}
\overline{abc}\overline{abc}
\bar{abc}\bar{abc}
\overleftarrow{abc}\overleftarrow{abc}
\overrightarrow{abc}\overrightarrow{abc}
\overleftrightarrow{abc}\overleftrightarrow{abc}
\overarc{abc}\overarc{abc}
\begin{Vmatrix}x&y\\1&2\end{Vmatrix}\begin{Vmatrix}x&y\\1&2\end{Vmatrix}

Parentheses vertical alignment at font sizes ranging from 10px to 24px:

Dynamic rendering performance

LaTeX:

HTML:

There should be no space between here and here, even in IE8

Textcolor

Colors should match their names: \textcolor{#0000FF}{blue} + \textcolor{red}{red} = \textcolor { rgb(255, -10, 255) } {magenta}

Nested \textcolor: the 2 should be red, the "a+" green, the 4 blue, and the "+b" green again. e^{\textcolor{#FF0000}{2}}\sin(x^\textcolor{#00FF00}{{a+\textcolor{blue}{4}+b}})

Adding CSS class

Second term should be styled like this: x+\class{testclass}{y}+z

substituteTextarea

In Safari on iOS, this should be focusable but not bring up the on-screen keyboard; to test, try focusing anything else and confirm this blurs: (confirmed working on iOS 6.1.3)

substituteKeyboardEvents

Should be able to prevent cut, typing, and pasting in this field: 1+2+3

Should wrap anything you type in '<>': 1+2+3

Text mode

Spaces at the beginning and end of text mode blocks should be visible: 1\text{ And }2

Mutiple consecutive spaces in the middle of a text mode block should not collapse into one space: \text{three spaces}