94fed8afa1
Tests are adapted from the official suite: http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/static/flat/ Test file format: Each test file is a HTML fragment with: <script> element with id="selectors": contains a JSON array of several selector definitions. Each selector definition has a selector string as input, a "match" array of the expected matched IDs. Some selectors must fail with a parse error, such selectors have an "error" key with the error location in the selector string. <div> element with id="testDOM": contains the DOM fragment which should be used to select the elements for each of the defined selectors.
104 lines
3.5 KiB
HTML
104 lines
3.5 KiB
HTML
<script type="application/json" id="selectors">
|
|
[{
|
|
"selector": "ul > li:not(:nth-child(odd))",
|
|
"match": ["2", "4", "6"]
|
|
},
|
|
{
|
|
"selector": "ol > li:not(:nth-child(even))",
|
|
"match": ["1", "3", "5"]
|
|
},
|
|
{
|
|
"selector": "table.t1 tr:not(:nth-child(-n+4))",
|
|
"match": ["tr5", "tr6"]
|
|
},
|
|
{
|
|
"selector": "table.t2 td:not(:nth-child(3n+1))",
|
|
"match": ["td12", "td13", "td15", "td16", "td18", "td22", "td23", "td25", "td26", "td28", "td32", "td33", "td35", "td36", "td38"]
|
|
}]
|
|
</script>
|
|
<div id="testDOM">
|
|
<ul>
|
|
<li>First list item</li>
|
|
<li id="2" class="red">This second list item should have a green background</li>
|
|
<li>Third list</li>
|
|
<li id="4" class="red">This fourth list item should have a green background</li>
|
|
<li>Fifth list item</li>
|
|
<li id="6" class="red">This sixth list item should have a green background</li>
|
|
</ul>
|
|
<ol>
|
|
<li id="1" class="red">This first list item should have a green background</li>
|
|
<li>Second list item</li>
|
|
<li id="3" class="red">This third list item should have a green background</li>
|
|
<li>Fourth list item</li>
|
|
<li id="5" class="red">This fifth list item should have a green background</li>
|
|
<li>Sixth list item</li>
|
|
</ol>
|
|
<div>
|
|
<table border="1" class="t1">
|
|
<tr>
|
|
<td>1.1</td>
|
|
<td>1.2</td>
|
|
<td>1.3</td>
|
|
</tr>
|
|
<tr>
|
|
<td>2.1</td>
|
|
<td>2.2</td>
|
|
<td>2.3</td>
|
|
</tr>
|
|
<tr>
|
|
<td>3.1</td>
|
|
<td>3.2</td>
|
|
<td>3.3</td>
|
|
</tr>
|
|
<tr>
|
|
<td>4.1</td>
|
|
<td>4.2</td>
|
|
<td>4.3</td>
|
|
</tr>
|
|
<tr id="tr5" class="red">
|
|
<td>Green row : 5.1</td>
|
|
<td>5.2</td>
|
|
<td>5.3</td>
|
|
</tr>
|
|
<tr id="tr6" class="red">
|
|
<td>Green row : 6.1</td>
|
|
<td>6.2</td>
|
|
<td>6.3</td>
|
|
</tr>
|
|
</table>
|
|
<p></p>
|
|
<table class="t2" border="1">
|
|
<tr>
|
|
<td>1.1</td>
|
|
<td id="td12" class="red">green cell</td>
|
|
<td id="td13" class="red">green cell</td>
|
|
<td>1.4</td>
|
|
<td id="td15" class="red">green cell</td>
|
|
<td id="td16" class="red">green cell</td>
|
|
<td>1.7</td>
|
|
<td id="td18" class="red">green cell</td>
|
|
</tr>
|
|
<tr>
|
|
<td>2.1</td>
|
|
<td id="td22" class="red">green cell</td>
|
|
<td id="td23" class="red">green cell</td>
|
|
<td>2.4</td>
|
|
<td id="td25" class="red">green cell</td>
|
|
<td id="td26" class="red">green cell</td>
|
|
<td>2.7</td>
|
|
<td id="td28" class="red">green cell</td>
|
|
</tr>
|
|
<tr>
|
|
<td>3.1</td>
|
|
<td id="td32" class="red">green cell</td>
|
|
<td id="td33" class="red">green cell</td>
|
|
<td>3.4</td>
|
|
<td id="td35" class="red">green cell</td>
|
|
<td id="td36" class="red">green cell</td>
|
|
<td>3.7</td>
|
|
<td id="td38" class="red">green cell</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|