<head>
<base href="file:///BASE/">
<style>
table { border-spacing: 0; border-collapse: collapse; border: 1px solid #999; }
thead { font: x-small 'Lucida Grande'; }
thead > tr { background-color: #dee; border-bottom: 1px solid #999; }
td, th { padding: 4px; border-width: 0 1px; border-style: solid; border-color: #999 }
tbody { font: small monospace; }
tbody > tr:nth-child(odd) { background-color: #eee; }
</style>
</head>
<body>
<p>
The following table shows how URLs are parsed and canonicalized. The base URI
for this document is <tt>file:///BASE/</tt>.
</p>
<table>
<thead>
<tr>
<th>URL</th>
<th>href</th>
<th>host</th>
<th>pathname</th>
</tr>
</thead>
<tbody id = "results"></tbody>
</table>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function test(url)
{
var anchor = document.createElement("a");
anchor.href = url;
var row = document.getElementById("results").appendChild(document.createElement("tr"));
row.appendChild(document.createElement("td")).appendChild(anchor).appendChild(document.createTextNode(url));
row.appendChild(document.createElement("td")).appendChild(document.createTextNode(anchor.href));
row.appendChild(document.createElement("td")).appendChild(document.createTextNode(anchor.host));
row.appendChild(document.createElement("td")).appendChild(document.createTextNode(anchor.pathname));
}
var testCases = [
"",
"test",
"/",
"/test",
"//",
"//test",
"///",
"///test",
"file:",
"file:test",
"file:/",
"file:/test",
"file://",
"file://test",
"file:///",
"file:///test",
"file://localhost",
"file://localhost/",
"file://localhost/test",
"http:",
"http:/",
"http://",
"http:///",
"http:////",
"http://localhost",
"http://localhost/",
"http://localhost/test",
"x-webkit:",
"x-webkit:test",
"x-webkit:/",
"x-webkit:/test",
"x-webkit://",
"x-webkit://test",
"x-webkit:///",
"x-webkit:///test",
];
for (var i = 0; i < testCases.length; ++i)
test(testCases[i]);
</script>
</body>