<!doctype html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<style>
#test-root * {
    background-color: red;
}
</style>
<style id="style">
</style>
</head>
<body>
    <div style="display:none" id="test-root">
    </div>
</body>
<script>
description('Test boundaries of :nth-child(An+B).');

// First, let's generate a giant DOM tree to have something to match.

function generateSubtree(parent, level) {
    if (level < 0)
        return;

    for (var i = 0; i < level; ++i) {
        var testCase = document.createElement("testcase");
        testCase.className="testclass"
        generateSubtree(testCase, level - 1);
        parent.appendChild(testCase);
    }
}

var testRoot = document.getElementById('test-root');
generateSubtree(testRoot, 7);

// Let's chain a lot of :nth-child().
shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase)").length', '1');
shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase):nth-child(n+1 of .testclass):nth-child(n+2 of .testclass):nth-child(n+3 of .testclass):nth-child(n+4 of .testclass):nth-child(n+5 of .testclass):nth-child(n+6 of .testclass):nth-child(n+7 of .testclass)").length', '1');
shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase):nth-child(n+1 of .testclass):nth-child(n+2 of .testclass):nth-child(n+3 of .testclass):nth-child(n+4 of .testclass):nth-child(n+5 of .testclass):nth-child(n+6 of .testclass):nth-child(n+7 of .testclass):nth-child(n+1 of [class]):nth-child(n+2 of [class]):nth-child(n+3 of [class]):nth-child(n+4 of [class]):nth-child(n+5 of [class]):nth-child(n+6 of [class]):nth-child(n+7 of [class])").length', '1');
shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase):nth-child(n+1 of .testclass):nth-child(n+2 of .testclass):nth-child(n+3 of .testclass):nth-child(n+4 of .testclass):nth-child(n+5 of .testclass):nth-child(n+6 of .testclass):nth-child(n+7 of .testclass):nth-child(n+1 of [class]):nth-child(n+2 of [class]):nth-child(n+3 of [class]):nth-child(n+4 of [class]):nth-child(n+5 of [class]):nth-child(n+6 of [class]):nth-child(n+7 of [class]):nth-child(n+1 of :not([class=\\\"\\\"])):nth-child(n+2 of :not([class=\\\"\\\"])):nth-child(n+3 of :not([class=\\\"\\\"])):nth-child(n+4 of :not([class=\\\"\\\"])):nth-child(n+5 of :not([class=\\\"\\\"])):nth-child(n+6 of :not([class=\\\"\\\"])):nth-child(n+7 of :not([class=\\\"\\\"]))").length', '1');

shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase):nth-child(n+8 of testcase)").length', '0');
shouldBe('document.querySelectorAll("testcase:nth-child(n+1 of testcase):nth-child(n+2 of testcase):nth-child(n+3 of testcase):nth-child(n+4 of testcase):nth-child(n+5 of testcase):nth-child(n+6 of testcase):nth-child(n+7 of testcase):nth-child(n+1 of .testclass):nth-child(n+2 of .testclass):nth-child(n+3 of .testclass):nth-child(n+4 of .testclass):nth-child(n+5 of .testclass):nth-child(n+6 of .testclass):nth-child(n+7 of .testclass):nth-child(n+1 of [class]):nth-child(n+2 of [class]):nth-child(n+3 of [class]):nth-child(n+4 of [class]):nth-child(n+5 of [class]):nth-child(n+6 of [class]):nth-child(n+7 of [class]):nth-child(n+1 of :not([class=\\\"\\\"])):nth-child(n+2 of :not([class=\\\"\\\"])):nth-child(n+3 of :not([class=\\\"\\\"])):nth-child(n+4 of :not([class=\\\"\\\"])):nth-child(n+5 of :not([class=\\\"\\\"])):nth-child(n+6 of :not([class=\\\"\\\"])):nth-child(n+7 of :not([class=\\\"\\\"])):nth-child(n+8 of testcase)").length', '0');
</script>
<script src="../../resources/js-test-post.js"></script>
</html>
