<!DOCTYPE html>
<html>
<head>
<title>Document::nodesFromRect : basic text nodes and links test - bug 47795</title>
<style type="text/css"> @import "resources/nodesFromRect.css"; </style>
<script src="../../../resources/js-test.js"></script>
<script src="resources/nodesFromRect.js"></script>
<script type="application/javascript">
function runTest()
{
var e = {};
// Set up shortcut access to elements
e['html'] = document.getElementsByTagName("html")[0];
['p1', 'a1', 'a2', 'a3', 'body'].forEach(function(a) {
e[a] = document.getElementById(a);
});
window.scrollTo(0, 0);
// Area with links and text nodes:
var centerA1 = getCenterFor(e.a1);
var centerA2 = getCenterFor(e.a2);
var centerA3 = getCenterFor(e.a3);
var topP1 = getTopFor(e.p1);
var topA1 = getTopFor(e.a1);
var centerText = { x : (centerA2.x + centerA1.x) / 2, y : centerA1.y }; //text node between a1 and a2
check(centerA1.x, centerA1.y, 1, 1, [e.a1.firstChild]);
check(centerA1.x, centerA1.y - topA1.y + topP1.y, 1, topA1.y - topP1.y + 1, [e.a1.firstChild, e.a1, e.p1]);
check(centerA1.x, centerA1.y, 1, centerA3.y - centerA1.y + 1, [e.a3.firstChild, e.a3, e.p1, e.a1.firstChild, e.a1]);
check(centerA1.x, centerA1.y, centerText.x - centerA1.x + 1, 1, [e.p1.childNodes[2], e.a1.firstChild, e.a1, e.p1]);
check(centerA1.x, centerA1.y, centerA2.x - centerA1.x + 1, 1, [e.a2.firstChild, e.a2, e.p1.childNodes[2], e.a1.firstChild, e.a1, e.p1]);
check(centerA1.x, centerA1.y, centerA2.x - centerA1.x + 1, centerA3.y - centerA1.y + 1, [e.a3.firstChild, e.a3, e.p1, e.a2.firstChild, e.a2, e.p1.childNodes[2], e.a1.firstChild, e.a1]);
}
window.onload = runTest;
</script>
</head>
<body id="body">
<p id="p1">
<a href="#" id="a1">A</a> / <a href="#" id="a2">B</a><br/><a href="#" id="a3">C</a>
</p>
<span id="console"></span>
</body>
</html>