<html>
<head>
    <title></title>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();
    </script>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=13166">http://bugs.webkit.org/show_bug.cgi?id=13166</a>
        REGRESSION (2005-10-16 - 2005-10-19): Ampersands showing up in the last column of the Gmail contacts table</i>.
    </p>
    <p>
        The following lines should all say &ldquo;1 &lt; 2&rdquo;. They should not contain ampersands.
    </p>
    1 <script>document.write("&lt")</script>; 2<br>
    1 <script>document.write("&l")</script>t; 2<br>
    1 <script>document.write("&")</script>lt; 2<br>
    1 <script>document.write("&")</script>#x3c; 2<br>
    1 <script>document.write("&#")</script>x3c; 2<br>
    1 <script>document.write("&#x")</script>3c; 2<br>
    1 <script>document.write("&#x3")</script>c; 2<br>
    1 <script>document.write("&#x3c")</script>; 2<br>
    1 <script>document.write("&#x3c")</script> 2<br>
    1 <script>document.write("&")</script>#x3c; 2<br>
    1 <script>document.write("&")</script>#60; 2<br>
    1 <script>document.write("&#")</script>60; 2<br>
    1 <script>document.write("&#6")</script>0; 2<br>
    1 <script>document.write("&#60")</script>; 2<br>
    1 <script>document.write("&#60")</script> 2<br>
</body>
</html>
