199 lines
16 KiB
HTML
199 lines
16 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>MathML script elements: removing children</title>
|
|
|
|
<!-- This test verifies removal of children from an <mmultiscripts> element using DOM operations. It should not crash and should render the same as the equivalent static page. -->
|
|
|
|
<style type="text/css">
|
|
div { border: 1px solid; margin: .5em; }
|
|
</style>
|
|
<script type="text/javascript">
|
|
var mathmlNS = "http://www.w3.org/1998/Math/MathML";
|
|
|
|
function testRemoveMPrescript(n)
|
|
{
|
|
// Test 1, 2, 3, 4: removing the <mprescripts/> element.
|
|
var mmultiscripts = document.getElementById("test" + n).getElementsByTagNameNS(mathmlNS, "mmultiscripts");
|
|
for (var i = 0; i < mmultiscripts.length; i++)
|
|
mmultiscripts[i].removeChild(mmultiscripts[i].getElementsByTagNameNS(mathmlNS, "mprescripts")[0]);
|
|
}
|
|
|
|
function test5()
|
|
{
|
|
// Test 5: removing the first duplicate <mprescripts/> element.
|
|
var mmultiscripts = document.getElementById("test5").getElementsByTagNameNS(mathmlNS, "mmultiscripts");
|
|
for (var i = 0; i < mmultiscripts.length; i++)
|
|
mmultiscripts[i].removeChild(mmultiscripts[i].getElementsByTagNameNS(mathmlNS, "mprescripts")[1]);
|
|
}
|
|
|
|
function test6()
|
|
{
|
|
// Test 6: removing an extra child.
|
|
var mmultiscripts = document.getElementById("test6").getElementsByTagNameNS(mathmlNS, "mmultiscripts");
|
|
for (var i = 0; i < mmultiscripts.length; i++) {
|
|
var extra = mmultiscripts[i].getElementsByTagNameNS(mathmlNS, "mprescripts")[1].nextSibling;
|
|
for (var j = 0; j < i; j++) extra = extra.nextSibling;
|
|
mmultiscripts[i].removeChild(extra);
|
|
}
|
|
}
|
|
|
|
function test7()
|
|
{
|
|
// Test 7: removing the base.
|
|
var mmultiscripts = document.getElementById("test7").getElementsByTagNameNS(mathmlNS, "mmultiscripts");
|
|
for (var i = 0; i < mmultiscripts.length; i++) {
|
|
var base = mmultiscripts[i].firstChild;
|
|
mmultiscripts[i].removeChild(base);
|
|
}
|
|
}
|
|
|
|
function test8()
|
|
{
|
|
// Test 8: removing a postscript/prescript
|
|
var mmultiscripts = document.getElementById("test8").getElementsByTagNameNS(mathmlNS, "mmultiscripts");
|
|
for (var i = 0; i < mmultiscripts.length; i++) {
|
|
var script = mmultiscripts[i].getElementsByTagNameNS(mathmlNS, "mn")[i];
|
|
mmultiscripts[i].removeChild(script);
|
|
}
|
|
}
|
|
|
|
function update()
|
|
{
|
|
testRemoveMPrescript(1);
|
|
testRemoveMPrescript(2);
|
|
testRemoveMPrescript(3);
|
|
testRemoveMPrescript(4);
|
|
test5();
|
|
test6();
|
|
test7();
|
|
test8();
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="update()">
|
|
|
|
<!-- Test 1: removing the <mprescripts/> element.
|
|
(starting with no bases or postscripts) -->
|
|
<div id="test1">Test 1:
|
|
<math><mmultiscripts><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn><mn>10</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 2: removing the <mprescripts/> element.
|
|
(starting with one base but no postscripts -->
|
|
<div id="test2">Test 2:
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn><mn>10</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 3: removing the <mprescripts/> element.
|
|
(starting with one base but one postscript -->
|
|
<div id="test3">Test 3:
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn><mn>10</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 4: removing the <mprescripts/> element.
|
|
(starting with one base and two postscripts) -->
|
|
<div id="test4">Test 4:
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>20</mn><mn>30</mn><mn>40</mn><mprescripts/><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mn>7</mn><mn>8</mn><mprescripts/><mn>9</mn><mn>10</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 5: removing the first extra <mprescripts/> element. -->
|
|
<div id="test5">Test 5:
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mprescripts/><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 6: removing an extra child. -->
|
|
<div id="test6">Test 6:
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/><mprescripts/><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/><mprescripts/><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/><mprescripts/><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 7: removing the base. -->
|
|
<div id="test7">Test 7:
|
|
<math><mmultiscripts><mn>0</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/><mn>5</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mn>0</mn><mprescripts/><mn>5</mn><mn>6</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
<!-- Test 8: removing a postscript/prescript. -->
|
|
<div id="test8">Test 8:
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
<math><mmultiscripts><mtext>BASE</mtext><mn>1</mn><mn>2</mn><mn>3</mn><mn>4</mn><mn>5</mn><mn>6</mn><mprescripts/><mn>7</mn><mn>8</mn><mn>9</mn><mn>10</mn><mn>11</mn><mn>12</mn></mmultiscripts></math>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|