<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Percent escaping</title>
</head>
<body>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=6452">bug 6452</a> - 
KURL::appendEscapingBadChars() should never escape percent characters.</p>
<form action='resources/%2525%u0435 0 %xx%25%%ulike.html' name=f>
 <input type=hidden name=q value=''>
</form>
<script>

  if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
  }

  document.f.submit();

</script>
</body>
</html>
