77 lines
2.4 KiB
HTML
77 lines
2.4 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
|
|
<head>
|
|
<title>Fill Table Hit Test</title>
|
|
<style>
|
|
body { margin: 0px 0px 0px 0px; }
|
|
</style>
|
|
<script language="JavaScript" type="text/javascript">
|
|
var cellHeight = 20;
|
|
var logMsg = "";
|
|
var lastSuccess = 0;
|
|
var failed = false;
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
window.testRunner.waitUntilDone();
|
|
}
|
|
|
|
function cellHit(cell) {
|
|
var cellId = 24 * cell.parentNode.rowIndex + cell.cellIndex;
|
|
lastSuccess = cellId;
|
|
}
|
|
|
|
function doTest(cellwidth) {
|
|
var ypos = cellHeight;
|
|
for (var row = 0; row < 24; row++) {
|
|
var xpos = cellwidth;
|
|
for (var col = 0; col < 19; col++) {
|
|
var cellId = 24 * row + col;
|
|
logMsg += "Attempting to hit cell at row: " + row + ", column: " + col + ": ";
|
|
var elem = document.elementFromPoint(xpos, ypos);
|
|
if (elem) elem.onmousemove();
|
|
var success = lastSuccess == cellId;
|
|
if (!success) failed = true;
|
|
logMsg += (success ? "SUCCESS" : "FAIL") + "<br />";
|
|
xpos += cellwidth + 1;
|
|
}
|
|
ypos += cellHeight;
|
|
}
|
|
document.body.innerHTML =(failed ? "FAIL!!!<br/>" : "SUCCESS!!!<br/>") +logMsg;
|
|
if (window.testRunner) {
|
|
window.testRunner.notifyDone();
|
|
}
|
|
}
|
|
|
|
function CreateTable(tablewidth, rowcount, colcount) {
|
|
var cellwidth = (tablewidth / colcount) - 1;
|
|
var tablestr = "<table style=\"table-layout:fixed;\" border=\"1\" width=\"" +
|
|
tablewidth + "\" cellspacing=\"0\" cellpadding=\"0\">";
|
|
for (var row = 0; row < rowcount; row++) {
|
|
var rowstr = "<tr height=\"20\">";
|
|
for (var col = 0; col < colcount; col++) {
|
|
var cellId = "r" + row + "c" + col;
|
|
var colstr = "<td width=\"" + cellwidth + "\" id=\"" + cellId + "\" onmousemove=\"cellHit(this)\"></td>";
|
|
rowstr += colstr;
|
|
}
|
|
rowstr += "</tr>";
|
|
|
|
tablestr += rowstr;
|
|
}
|
|
tablestr += "</table>";
|
|
document.getElementById('tablebox').innerHTML = tablestr;
|
|
doTest(Math.round(cellwidth));
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="CreateTable(500, 50, 20);" >
|
|
<div id="tablebox" style="overflow:hidden; width:500px; height:500px;"></div>
|
|
</body>
|
|
|
|
</html>
|
|
|