| <!doctype html> | |
| <html> | |
| <head> | |
| <title>Token elements - dynamic changes</title> | |
| <meta charset="utf-8"/> | |
| <style type="text/css"> | |
| #styled > mo { color: red; } | |
| #styled > mi { color: green; } | |
| #styled > mi ~ * { color: blue; } | |
| </style> | |
| <script type="text/javascript"> | |
| function newText(t) | |
| { | |
| return document.createTextNode(t); | |
| } | |
| function test() | |
| { | |
| var mi = document.getElementsByTagName("mi"); | |
| var mo = document.getElementsByTagName("mo"); | |
| // Test 1 | |
| mi[0].textContent = "sin"; | |
| mi[1].textContent = "x"; | |
| mi[2].appendChild(newText("cos")); | |
| mi[3].appendChild(newText("y")); | |
| mi[4].textContent = "a"; | |
| mi[4].insertBefore(newText("t"), mi[4].firstChild); | |
| mi[4].appendChild(newText("n")); | |
| mi[5].appendChild(newText("oo")); | |
| mi[5].insertBefore(newText("z"), mi[5].firstChild); | |
| mi[5].removeChild(mi[5].lastChild); | |
| // Test 2 | |
| mo[0].textContent = "+"; | |
| mo[1].appendChild(newText("-")); | |
| mo[2].textContent = "("; | |
| mo[3].appendChild(newText("]")); | |
| mo[4].appendChild(newText("-")); | |
| mo[4].insertBefore(newText("+"), mo[4].firstChild); | |
| mo[4].removeChild(mo[4].lastChild); | |
| mo[5].appendChild(newText("|")); | |
| mo[5].appendChild(newText("{")); | |
| mo[5].removeChild(mo[5].firstChild); | |
| // Test 3 | |
| mi[6].setAttribute("mathvariant", "bold"); | |
| mi[7].setAttribute("mathvariant", "italic"); | |
| mi[8].removeAttribute("mathvariant"); | |
| mi[9].removeAttribute("mathvariant"); | |
| // Test 4 | |
| mo[6].setAttribute("stretchy", "false"); | |
| mo[7].removeAttribute("stretchy"); | |
| // Test 5 | |
| document.getElementById("unstyled").setAttribute("id", "styled"); | |
| } | |
| </script> | |
| </head> | |
| <body onload="test()"> | |
| <!-- These tests perform dynamic changes on mi and mo token elements. They should render the same as the static reference. --> | |
| <!-- Test 1 --> | |
| <!-- FIXME: single-char <mi> should be italic. --> | |
| <p style="display: none;"> | |
| <math><mi></mi><mi></mi></math> | |
| <math><mi></mi><mi></mi></math> | |
| <math><mi></mi><mi></mi></math> | |
| </p> | |
| <!-- Test 2 --> | |
| <p> | |
| <math><mn>1</mn><mo></mo><mn>2</mn><mo></mo><mn>3</mn></math> | |
| <math><mo></mo><msqrt><mfrac><mn>4</mn><mn>5</mn></mfrac></msqrt><mo></mo></math> | |
| <math><mo></mo><mo></mo><mfrac><mfrac><mn>6</mn><mn>7</mn></mfrac><mfrac><mn>8</mn><mn>9</mn></mfrac></mfrac></math> | |
| </p> | |
| <!-- Test 3 --> | |
| <p> | |
| <math><mi>x</mi></math> | |
| <math><mi>sin</mi></math> | |
| <math><mi mathvariant="bold">x</mi></math> | |
| <math><mi mathvariant="italic">sin</mi></math> | |
| </p> | |
| <!-- Test 4 --> | |
| <p> | |
| <math><mo>{</mo><mfrac><mfrac><mn>6</mn><mn>7</mn></mfrac><mfrac><mn>8</mn><mn>9</mn></mfrac></mfrac></math> | |
| <math><mo stretchy="false">{</mo><mfrac><mfrac><mn>6</mn><mn>7</mn></mfrac><mfrac><mn>8</mn><mn>9</mn></mfrac></mfrac></math> | |
| </p> | |
| <!-- Test 5 --> | |
| <p> | |
| <math id="unstyled"><mo>-</mo><mi>sin</mi><mi>x</mi></math> | |
| </p> | |
| </body> | |
| </html> |