<html>
<head>
    <style>
        table { border-collapse: collapse; }
        td { background: silver; width: 100px; height: 100px; }
    </style>
	<script src="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>
