| <!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> |