-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest.js
More file actions
83 lines (73 loc) · 2.67 KB
/
Copy pathtest.js
File metadata and controls
83 lines (73 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
function log(args) {
var str = "";
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === "object") {
str += JSON.stringify(arguments[i]);
} else {
str += arguments[i];
}
}
var div = document.createElement("div");
div.innerHTML = str;
document.body.appendChild(div);
}
var err = false;
function assert(val1, val2, txt) {
txt = txt || "";
if (val1 !== val2) {
log(txt, ", Expecting: " + val1 + " === " + val2);
err = true;
}
}
var testURLs = [
"http://www.example.com/",
"http://www.example.com/whatever",
"https://www.aaa.google.com:80/what%20ever/search.html/?aaa=bbb&ccc=ddd&eee=%20fff#jump12",
"http://example.com",
"http://www.example.com",
"http://www.example.com/what%20ever",
"http://www.example.com/whatever?test=foo",
"http://www.example.com/whatever?test=foo#hello",
];
var urlObj;
for (var i = 0; i < testURLs.length; i++) {
urlObj = new parseURL(testURLs[i]);
if (urlObj.getURL() !== testURLs[i]) {
err = true;
log("difference(" + i + "): ", testURLs[i], " ", urlObj.getURL());
}
}
// test the various parts
urlObj = new parseURL("https://www.aaa.google.com:80/what%20ever/search.html/?aaa=bbb&ccc=ddd&eee=%20fff#jump12=test&jump33=set&jump44=hello%20kitty");
assert(urlObj.queryObject["aaa"], "bbb");
assert(urlObj.queryObject["eee"], " fff");
assert(urlObj.protocol, "https");
assert(urlObj.port, "80");
assert(urlObj.getFinalDomain(), "google.com");
assert(urlObj.getSubDomain(), "www.aaa");
assert(urlObj.containsPathComponent("what ever"), true);
assert(urlObj.getPortNum(), 80);
assert(urlObj.isSameOrigin("https://www.aaa.google.com:80/index.html"), true);
assert(urlObj.isSameOrigin("https://www.aaa.google.com/index.html"), false);
assert(urlObj.isSameOrigin("https://www.google.com/index.html"), false);
assert(urlObj.hash, "jump12=test&jump33=set&jump44=hello kitty");
assert(urlObj.hashObject["jump12"], "test");
assert(urlObj.hashObject["jump44"], "hello kitty");
urlObj = new parseURL("https://www.google.com");
assert(urlObj.isSameOrigin("https://www.google.com/index.html"), true);
assert(urlObj.isSameOrigin("http://www.google.com/index.html"), false);
assert(urlObj.isSameOrigin("https://google.com/index.html"), false);
if (!err) {
log("All tests successful");
}
/*
var o = new URL("https://www.aaa.google.com:80/what%20ever/search.html/?aaa=bbb&ccc=ddd&eee=%20fff#jump12");
log("getURL(): ", o.getURL());
log("finalDomain(): ", o.getFinalDomain());
log("subDomain(): ", o.getSubDomain());
for (var prop in o) {
if (o.hasOwnProperty(prop)) {
log(prop, ": ", o[prop]);
}
}
*/