<!doctype html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
</head>
<body>

    <tribe>
        <realm>
            <throne></throne>
            <ancestor id="doe" name="young" class="classic">
                <target id="anotherTarget"></target>
            </ancestor>
        </realm>
        <ancestor id="john" name="old" class="classic">
            <sibling id="sibling"></sibling>
            <target id="theTarget" webkit="fast"></target>
        </ancestor>
    </tribe>

    <foo>
        <bar>
            <a id="a">
                <b id="b">
                    <c id="c">
                        <d id="d">
                            <e id="e">
                                <lemon id="sour"></lemon>
                            </e>
                        </d>
                    </c>
                </b>
            </a>
        </bar>
    </foo>
</body>

<script>
description('This test makes sure the closest() API works correctly');

var theTarget = document.getElementById('theTarget');
var ancestor = document.getElementById('john');
var sour = document.getElementById('sour');
var sibling = document.getElementById('sibling');
var a = document.getElementById('a');
var b = document.getElementById('b');
var c = document.getElementById('c');
var d = document.getElementById('d');
var e = document.getElementById('e');

shouldBe('theTarget.closest("#theTarget")', 'theTarget');
shouldBe('theTarget.closest("ancestor")', 'ancestor');
shouldBe('theTarget.closest("tribe ancestor")', 'ancestor');
shouldBe('theTarget.closest("tribe > ancestor")', 'ancestor');
shouldBe('theTarget.closest("realm + ancestor")', 'ancestor');
shouldBe('theTarget.closest("realm ~ ancestor")', 'ancestor');
shouldBe('theTarget.closest("tribe, ancestor")', 'ancestor');
shouldBe('theTarget.closest("ancestor, tribe")', 'ancestor');

shouldBeNull('theTarget.closest("tribe realm")');
shouldBeNull('theTarget.closest("tribe realm throne")');
shouldBeNull('theTarget.closest("tribe realm ancestor")');
shouldBeNull('theTarget.closest("realm > ancestor")');
shouldBeNull('theTarget.closest("throne + ancestor")');
shouldBeNull('theTarget.closest("throne ~ ancestor")');

shouldBe('theTarget.closest(".classic")', 'ancestor');
shouldBe('theTarget.closest("#john")', 'ancestor');
shouldBeNull('theTarget.closest("doe")');
shouldBe('theTarget.closest("ancestor[name=old]")', 'ancestor');
shouldBeNull('theTarget.closest("ancestor[name=young]")');

shouldBeNull('theTarget.closest(null)');
shouldBeNull('theTarget.closest(undefined)');

shouldBe('sour.closest("lemon")', 'sour');

shouldBe('sour.closest("a, b, c, d, e")', 'e');
shouldBe('sour.closest("a, b, c")', 'c');
shouldBe('sour.closest("a, b")', 'b');
shouldBe('sour.closest("e, d, c, b, a")', 'e');
shouldBe('sour.closest("d, c, b, a")', 'd');
shouldBe('sour.closest("c, b, a")', 'c');
shouldBe('sour.closest("b, a")', 'b');
shouldBe('sour.closest("a")', 'a');

shouldBe('document.closest', 'undefined');
shouldThrow('document.closest()');
shouldThrow('theTarget.closest()');
shouldThrow('theTarget.closest("")');
shouldThrow('theTarget.closest(".123")');
shouldThrow('theTarget.closest("    ")');
shouldThrow('theTarget.closest(")")');
shouldThrow('theTarget.closest("(")');
shouldThrow('theTarget.closest("()")');
shouldThrow('theTarget.closest("^_^")');
shouldThrow('theTarget.closest("{")');
shouldThrow('theTarget.closest("}")');
shouldThrow('theTarget.closest("{}")');
</script>
</html>
