<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var completed = 0, failures = 0, failuresDetail = ""; 
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
function printResult() {
    document.getElementById("result").innerText = failures ? "FAIL: " + failures + " cases failed\n" + failuresDetail : "PASS";
    if (window.testRunner)
        testRunner.notifyDone();
}

function imageCheckForMin(image) {
    if (image.src.match("greenbox-100px.png")  != null) {
        image.src = "resources/greenbox.png";
    }
    else {
        ++completed;
        if (image.width != 25) {
            ++failures; 
            failuresDetail +=  image.id + ": " + image.width + " (expected: " + 25 + ")\n";
        }
        if (completed == 2)
             printResult();
    }
}
</script>
</head>

<body>
<div id="result"></div>
<table>
<tbody>
<tr>
<td>
<img id="percentMinWidthInTable" style="min-width:100%;" src="resources/greenbox-100px.png" onload="imageCheckForMin(this)">
</td>
</tr>
</tbody>
</table>
<div style="position:absolute;top:200px;left:11px">
<img id="percentMinWidthInAbsolute" style="min-width:100%;" src="resources/greenbox-100px.png" onload="imageCheckForMin(this)">
</div>
</body>
</html>
