Bug 652186 - Fix tests involving URL backslash replacement r?bz
MozReview-Commit-ID: JgWFkJN7Mtc
--- a/docshell/test/unit/test_nsDefaultURIFixup_info.js
+++ b/docshell/test/unit/test_nsDefaultURIFixup_info.js
@@ -466,56 +466,48 @@ var testcases = [ {
fixedURI: "http://mozilla5/2",
alternateURI: "http://www.mozilla5.com/2",
protocolChange: true,
}, {
input: "mozilla/foo",
fixedURI: "http://mozilla/foo",
alternateURI: "http://www.mozilla.com/foo",
protocolChange: true,
+ }, {
+ input: "mozilla\\",
+ fixedURI: "http://mozilla/",
+ alternateURI: "http://www.mozilla.com/",
+ keywordLookup: true,
+ protocolChange: true,
+ affectedByDNSForSingleHosts: true,
}];
if (Services.appinfo.OS.toLowerCase().startsWith("win")) {
testcases.push({
input: "C:\\some\\file.txt",
fixedURI: "file:///C:/some/file.txt",
protocolChange: true,
});
testcases.push({
input: "//mozilla",
fixedURI: "http://mozilla/",
alternateURI: "http://www.mozilla.com/",
protocolChange: true,
});
- testcases.push({
- input: "mozilla\\",
- fixedURI: "http://mozilla/",
- alternateURI: "http://www.mozilla.com/",
- protocolChange: true,
- });
} else {
testcases.push({
input: "/some/file.txt",
fixedURI: "file:///some/file.txt",
protocolChange: true,
});
testcases.push({
input: "//mozilla",
fixedURI: "file:////mozilla",
protocolChange: true,
});
- // \ is an invalid character in the hostname until bug 652186 is implemented
- testcases.push({
- input: "mozilla\\",
- // fixedURI: "http://mozilla\\/",
- // alternateURI: "http://www.mozilla/",
- keywordLookup: true,
- protocolChange: true,
- // affectedByDNSForSingleHosts: true,
- });
}
function sanitize(input) {
return input.replace(/\r|\n/g, "").trim();
}
var gSingleWordHostLookup = false;
--- a/dom/base/test/test_url.html
+++ b/dom/base/test/test_url.html
@@ -356,10 +356,36 @@
URL.revokeObjectURL(url);
ok(true, "Calling revokeObjectURL twice should be ok");
</script>
<script>
URL.revokeObjectURL('blob:something');
ok(true, "This should not throw.");
</script>
+
+ <script>
+ var base = new URL("http:\\\\test.com\\path/to\\file?query\\backslash#hash\\");
+ is(base.href, "http://test.com/path/to/file?query\\backslash#hash\\");
+
+ var url = new URL("..\\", base);
+ is(url.href, "http://test.com/path/");
+
+ url = new URL("\\test", base);
+ is(url.href, "http://test.com/test");
+
+ url = new URL("\\test\\", base);
+ is(url.href, "http://test.com/test/");
+
+ url = new URL("http://example.org/test", base);
+ is(url.href, "http://example.org/test");
+
+ url = new URL("ftp://tmp/test", base);
+ is(url.href, "ftp://tmp/test");
+
+ url = new URL("ftp:\\\\tmp\\test", base);
+ is(url.href, "ftp://tmp/test");
+
+ url = new URL("scheme://tmp\\test", base);
+ is(url.href, "scheme://tmp\\test");
+ </script>
</body>
</html>