| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <style> |
| span.c1:nth-of-type(2n -1){ color: red; } |
| span.c1:nth-of-type(2n){ color: green; } |
| span.c2:nth-of-type(odd){ color: red; } |
| span.c2:nth-of-type(even){ color: green; } |
| span.c3:nth-of-type(n3){ color: red; } |
| span.c3:nth-of-type(foo){ color: green; } |
| span.c4:nth-of-type(2n3){ color: red; } |
| span.c4:nth-of-type(foon + bar ){ color: green; } |
| |
| </style> |
| |
| </head> |
| <body> |
| <p id="description"></p> |
| debug("These spans should alternate red and green"); |
| <div id="test1"></div> |
| debug("These spans should alternate red and green"); |
| <div id="test2"></div> |
| debug("These spans should be black"); |
| <div id="test3"></div> |
| debug("These spans should be black"); |
| <div id="test4"></div> |
| <br> |
| <script> |
| var i=1; |
| for(; i < 5; i++) { |
| var str = ""; |
| var j=1; |
| for (; j < 9; j++) { |
| str += '<span class="c' + i + '" id="span' + i + j + '"> span </span>'; |
| } |
| document.getElementById("test"+i).innerHTML = str; |
| } |
| |
| </script> |
| |
| <div id="console"></div> |
| <script> |
| description('This test passes if the nth-of-type can accept a parameter that is an+b, odd or even. But it does not accept any other parameter.'); |
| |
| el = document.querySelector("span.c1:nth-of-type(2n -1)"); |
| shouldBe("document.defaultView.getComputedStyle(el, null).getPropertyValue('color')", "'rgb(255, 0, 0)'"); |
| |
| el = document.querySelector("span.c1:nth-of-type(2n)"); |
| shouldBe("document.defaultView.getComputedStyle(el, null).getPropertyValue('color')", "'rgb(0, 128, 0)'"); |
| |
| el = document.querySelector("span.c2:nth-of-type(odd)"); |
| shouldBe("document.defaultView.getComputedStyle(el, null).getPropertyValue('color')", "'rgb(255, 0, 0)'"); |
| |
| el = document.querySelector("span.c2:nth-of-type(even)"); |
| shouldBe("document.defaultView.getComputedStyle(el, null).getPropertyValue('color')", "'rgb(0, 128, 0)'"); |
| |
| shouldThrowErrorName('document.querySelector("span.c3:nth-of-type(n3)")', 'SyntaxError'); |
| |
| shouldThrowErrorName('document.querySelector("span.c3:nth-of-type(foo)")', 'SyntaxError'); |
| |
| shouldThrowErrorName('document.querySelector("span.c3:nth-of-type(2n3)")', 'SyntaxError'); |
| |
| shouldThrowErrorName('document.querySelector("span.c3:nth-of-type(foon + bar)")', 'SyntaxError'); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |