| <head> |
| <style type="text/css"> |
| #a:nth-child(n-1) { color: green; } |
| #b:nth-child(n- 10) { color: green; } |
| #c:nth-child(n- 1 2) { color: green; } |
| #d:nth-child(n-b1) { color: green; } |
| #e:nth-child(n-+1) { color: green; } |
| #f:nth-child(n-1n) { color: green; } |
| #g:nth-child(-n-1) { color: green; } |
| #h:nth-child(-n- 10) { color: green; } |
| #i:nth-child(-n -b1) { color: green; } |
| #j:nth-child(-1n- b1) { color: green; } |
| #k:nth-child(-n-13b1) { color: green; } |
| #l:nth-child(-n-+1) { color: green; } |
| #m:nth-child(-n+n) { color: green; } |
| #n:nth-child(-n |
| - 1) { color: green; } |
| #o:nth-child(-n |
| +13) { color: green; } |
| </style> |
| <script> |
| |
| /** Changes the result text font size. */ |
| function runTest() |
| { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var rules = document.styleSheets[0].cssRules; |
| var text = ""; |
| for (var i = 0; i < rules.length; i++) { |
| text += rules.item(i).cssText; |
| text += "\n"; |
| } |
| |
| document.getElementById("result").appendChild(document.createTextNode(text)); |
| |
| if (document.getElementById("result").firstChild.data === document.getElementById("expected").firstChild.data) |
| document.getElementById("message").firstChild.data = "SUCCESS"; |
| else |
| document.getElementById("message").firstChild.data = "FAILURE"; |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p id="message">TEST DID NOT COMPLETE</p> |
| |
| <p>Rules from the stylesheet:</p> |
| |
| <pre id="result"></pre> |
| |
| <p>Expected result:</p> |
| |
| <pre id="expected">#a:nth-child(n-1) { color: green; } |
| #b:nth-child(n- 10) { color: green; } |
| #g:nth-child(-n-1) { color: green; } |
| #h:nth-child(-n- 10) { color: green; } |
| #n:nth-child(-n - 1) { color: green; } |
| #o:nth-child(-n +13) { color: green; } |
| </pre> |
| </body> |