<html>
<head>
<script type="text/javascript">
function log(message)
{
var item = document.createElement("li");
item.appendChild(document.createTextNode(message));
document.getElementById("console").appendChild(item);
}
function test()
{
if (window.testRunner)
testRunner.dumpAsText();
log("javascript: function argument containing a backslash (\\) should not be converted to a slash (/): \"" + document.getElementById("1").pathname + "\"");
log("http: base should convert a \\ to a / : \"" + document.getElementById("2").href + "\"");
log("https: base should also convert a \\ to a / : \"" + document.getElementById("3").href + "\"");
log("file: base should convert a \\ to a / : \"" + document.getElementById("4").href + "\"");
log("any other valid base except javascript: should convert a \\ to a / : \"" + document.getElementById("5").href + "\"");
log("query strings should be left alone: \"" + document.getElementById("6").href + "\"");
log("anchors should be left alone as well: \"" + document.getElementById("7").href + "\"");
}
</script>
</head>
<body onload="test()">
<p>This tests \ characters being changed to / in all different scenarios.</p>
<p>If it works you should see seven messages below that have \ or / characters as specified.</p>
<hr>
<a id="1" href="javascript:alert('to be\\not')">1</a>
<a id="2" href="http://apple.com\support">2</a>
<a id="3" href="https:\\login.apple.com\support/">3</a>
<a id="4" href="file:///Users\">4</a>
<a id="5" href="ftp://apple.com\support/">5</a>
<a id="6" href="http://apple.com\support?path=\\myshare\myfolder\myfile\">6</a>
<a id="7" href="http://apple.com\support#path=\\myshare\myfolder\myfile\">7</a>
<hr>
<p><ol id="console"></ol></p>
</body>
</html>