<html>
<head>
    <style>
        table { border-collapse: collapse; }
        td { background: silver; width: 100px; height: 100px; }
    </style>
	<script src="resources/repaint.js" type="text/javascript"></script>
	<script type="text/javascript">
	   function repaintTest()
	   {
            for (i = 1; i < 4; i++)
                document.getElementById("t" + i).style.borderColor = "green";
	   }
	</script>
</head>
<body onload="runRepaintTest()">
    <p>
        Repaint test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=11359">http://bugs.webkit.org/show_bug.cgi?id=11359</a>
        Incomplete repaint of table cell's collapsed border when changing only the cell</i>.
    </p>
    <table>
        <tr>
            <td></td>
            <td style="border-bottom: 4px solid white; border-top: 10px solid white;"></td>
            <td id="t1" style="border-left: 10px solid red; border-right: 10px solid red;"></td>
            <td style="border-bottom: 6px solid white; border-top: 10px solid white;"></td>
        </tr>
        <tr>
            <td style="border-left: 10px solid white; border-right: 4px solid white;"></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td id="t2" style="border-top: 10px solid red; border-bottom: 10px solid red;"></td>
            <td></td>
            <td id="t3" style="border: 10px solid red;"></td>
            <td></td>
        </tr>
        <tr>
            <td style="border-left: 10px solid white; border-right: 6px solid white;"></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>
</body>
</html>
