summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/dom/shadow/tooltips-in-shadow.html
blob: 0a2ed017e3fc6d750c057d9ed3171156612ae01c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html>
<body onload="test()">
<script src="../../js/resources/js-test-pre.js"></script>
<script src="resources/shadow-dom.js"></script>
<div id="container">
</div>

<script>
window.jsTestIsAsync = true;

function setup()
{
   var D = createDOM;
   var S = createShadowRoot;
   var cases = [];

   label1 = 'Case1: Non-Nested';
   container.appendChild(D('div', {'id': 'host1'}, S(D('a', {'id': 'target1', 'title': label1}, document.createTextNode("Hello1")))));
   cases.push({ target: getNodeInTreeOfTrees('host1/target1'), expected: label1 });

   label2 = 'Case 2: Nested';
   container.appendChild(D('div', {'id': 'host2'}, S(D('div', {'id': 'host2b'}, S(D('a', {'id': 'target2', 'title': label2}, document.createTextNode("Hello2")))))));
   cases.push({ target: getNodeInTreeOfTrees('host2/host2b/target2'), expected: label2 });

   label3 = 'Case 3: Multiple Shadow';
   container.appendChild(D('div', {'id': 'host3'}, S(D('div', {'id': 'scope3a'})), S(D('a', {'id': 'scope3b', 'title': label3 }, document.createTextNode("Hello3")))));
   cases.push({ target: getNodeInTreeOfTrees('host3//scope3b'), expected: label3 });

   return cases;
}

function moveTo(target)
{
    if (window.eventSender) {
        eventSender.dragMode = false;
        eventSender.mouseMoveTo(target.offsetLeft, target.offsetTop + target.offsetHeight / 2);
    }
}

function test()
{
    var harnesses = setup();

    for (var i = 0; i < harnesses.length; i++) {
        harness = harnesses[i];
        moveTo(harness.target);
        if (window.testRunner)
            debug("Test for " + harness.expected);
            shouldBe("harness.expected", "testRunner.tooltipText");
    }

    container.style.display = "none";
    finishJSTest();

}
</script>
</body>
</html>