|
@@ -1,5 +1,6 @@
|
|
|
[
|
|
[
|
|
|
"# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/segments.js",
|
|
"# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/segments.js",
|
|
|
|
|
+ "# AS OF https://github.com/jsdom/whatwg-url/commit/35f04dfd3048cf6362f4398745bb13375c5020c2",
|
|
|
{
|
|
{
|
|
|
"input": "http://example\t.\norg",
|
|
"input": "http://example\t.\norg",
|
|
|
"base": "http://example.org/foo/bar",
|
|
"base": "http://example.org/foo/bar",
|
|
@@ -1073,6 +1074,21 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher:/example.com/",
|
|
|
|
|
+ "base": "http://example.org/foo/bar",
|
|
|
|
|
+ "href": "gopher:/example.com/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/example.com/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
"input": "ws:/example.com/",
|
|
"input": "ws:/example.com/",
|
|
|
"base": "http://example.org/foo/bar",
|
|
"base": "http://example.org/foo/bar",
|
|
@@ -1223,6 +1239,21 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher:example.com/",
|
|
|
|
|
+ "base": "http://example.org/foo/bar",
|
|
|
|
|
+ "href": "gopher:example.com/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "example.com/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
"input": "ws:example.com/",
|
|
"input": "ws:example.com/",
|
|
|
"base": "http://example.org/foo/bar",
|
|
"base": "http://example.org/foo/bar",
|
|
@@ -2478,6 +2509,36 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher://foo:70/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "gopher://foo:70/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "foo:70",
|
|
|
|
|
+ "hostname": "foo",
|
|
|
|
|
+ "port": "70",
|
|
|
|
|
+ "pathname": "/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher://foo:443/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "gopher://foo:443/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "foo:443",
|
|
|
|
|
+ "hostname": "foo",
|
|
|
|
|
+ "port": "443",
|
|
|
|
|
+ "pathname": "/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
"input": "ws://foo:80/",
|
|
"input": "ws://foo:80/",
|
|
|
"base": "about:blank",
|
|
"base": "about:blank",
|
|
@@ -2687,6 +2748,21 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher:/example.com/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "gopher:/example.com/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/example.com/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
"input": "ws:/example.com/",
|
|
"input": "ws:/example.com/",
|
|
|
"base": "about:blank",
|
|
"base": "about:blank",
|
|
@@ -2837,6 +2913,21 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "gopher:example.com/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "gopher:example.com/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "gopher:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "example.com/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
"input": "ws:example.com/",
|
|
"input": "ws:example.com/",
|
|
|
"base": "about:blank",
|
|
"base": "about:blank",
|
|
@@ -4544,6 +4635,68 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
},
|
|
},
|
|
|
|
|
+ "Forbidden host code points",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "http://a<b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "http://a>b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "http://a^b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "non-special://a<b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "non-special://a>b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "non-special://a^b",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ "Allowed host code points",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "http://\u001F!\"$&'()*+,-.;=_`{|}~/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "http://\u001F!\"$&'()*+,-.;=_`{|}~/",
|
|
|
|
|
+ "origin": "http://\u001F!\"$&'()*+,-.;=_`{|}~",
|
|
|
|
|
+ "protocol": "http:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "\u001F!\"$&'()*+,-.;=_`{|}~",
|
|
|
|
|
+ "hostname": "\u001F!\"$&'()*+,-.;=_`{|}~",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "sc://\u001F!\"$&'()*+,-.;=_`{|}~/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "sc://%1F!\"$&'()*+,-.;=_`{|}~/",
|
|
|
|
|
+ "origin": "null",
|
|
|
|
|
+ "protocol": "sc:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "%1F!\"$&'()*+,-.;=_`{|}~",
|
|
|
|
|
+ "hostname": "%1F!\"$&'()*+,-.;=_`{|}~",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
"# Hosts and percent-encoding",
|
|
"# Hosts and percent-encoding",
|
|
|
{
|
|
{
|
|
|
"input": "ftp://example.com%80/",
|
|
"input": "ftp://example.com%80/",
|
|
@@ -5758,6 +5911,130 @@
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": "#frag"
|
|
"hash": "#frag"
|
|
|
},
|
|
},
|
|
|
|
|
+ "# file: drive letter cases from https://crbug.com/1078698",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///Y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///Y:",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/Y:",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///Y:/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///Y:/",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/Y:/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///./Y",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///Y",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/Y",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///./Y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///Y:",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/Y:",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "\\\\\\.\\Y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ "# file: drive letter cases from https://crbug.com/1078698 but lowercased",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///y:",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/y:",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///y:/",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///y:/",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/y:/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///./y",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///y",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/y",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file:///./y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file:///y:",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/y:",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "\\\\\\.\\y:",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
"# IPv6 tests",
|
|
"# IPv6 tests",
|
|
|
{
|
|
{
|
|
|
"input": "http://[1:0::]",
|
|
"input": "http://[1:0::]",
|
|
@@ -6562,5 +6839,153 @@
|
|
|
"pathname": "/test-a-colon-slash-slash-b.html",
|
|
"pathname": "/test-a-colon-slash-slash-b.html",
|
|
|
"search": "",
|
|
"search": "",
|
|
|
"hash": ""
|
|
"hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ "Null code point in fragment",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "http://example.org/test?a#b\u0000c",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "http://example.org/test?a#b%00c",
|
|
|
|
|
+ "protocol": "http:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "example.org",
|
|
|
|
|
+ "hostname": "example.org",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/test",
|
|
|
|
|
+ "search": "?a",
|
|
|
|
|
+ "hash": "#b%00c"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "non-spec://example.org/test?a#b\u0000c",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "non-spec://example.org/test?a#b%00c",
|
|
|
|
|
+ "protocol": "non-spec:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "example.org",
|
|
|
|
|
+ "hostname": "example.org",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/test",
|
|
|
|
|
+ "search": "?a",
|
|
|
|
|
+ "hash": "#b%00c"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "non-spec:/test?a#b\u0000c",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "non-spec:/test?a#b%00c",
|
|
|
|
|
+ "protocol": "non-spec:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/test",
|
|
|
|
|
+ "search": "?a",
|
|
|
|
|
+ "hash": "#b%00c"
|
|
|
|
|
+ },
|
|
|
|
|
+ "First scheme char - not allowed: https://github.com/whatwg/url/issues/464",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "10.0.0.7:8080/foo.html",
|
|
|
|
|
+ "base": "file:///some/dir/bar.html",
|
|
|
|
|
+ "href": "file:///some/dir/10.0.0.7:8080/foo.html",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/some/dir/10.0.0.7:8080/foo.html",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ "Subsequent scheme chars - not allowed",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "a!@$*=/foo.html",
|
|
|
|
|
+ "base": "file:///some/dir/bar.html",
|
|
|
|
|
+ "href": "file:///some/dir/a!@$*=/foo.html",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/some/dir/a!@$*=/foo.html",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ "First and subsequent scheme chars - allowed",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "a1234567890-+.:foo/bar",
|
|
|
|
|
+ "base": "http://example.com/dir/file",
|
|
|
|
|
+ "href": "a1234567890-+.:foo/bar",
|
|
|
|
|
+ "protocol": "a1234567890-+.:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "",
|
|
|
|
|
+ "hostname": "",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "foo/bar",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ "IDNA ignored code points in file URLs hosts",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file://a\u00ADb/p",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file://ab/p",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "ab",
|
|
|
|
|
+ "hostname": "ab",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/p",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file://a%C2%ADb/p",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "href": "file://ab/p",
|
|
|
|
|
+ "protocol": "file:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "ab",
|
|
|
|
|
+ "hostname": "ab",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/p",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": ""
|
|
|
|
|
+ },
|
|
|
|
|
+ "Empty host after the domain to ASCII",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file://\u00ad/p",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file://%C2%AD/p",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "file://xn--/p",
|
|
|
|
|
+ "base": "about:blank",
|
|
|
|
|
+ "failure": true
|
|
|
|
|
+ },
|
|
|
|
|
+ "https://bugzilla.mozilla.org/show_bug.cgi?id=1647058",
|
|
|
|
|
+ {
|
|
|
|
|
+ "input": "#link",
|
|
|
|
|
+ "base": "https://example.org/##link",
|
|
|
|
|
+ "href": "https://example.org/#link",
|
|
|
|
|
+ "protocol": "https:",
|
|
|
|
|
+ "username": "",
|
|
|
|
|
+ "password": "",
|
|
|
|
|
+ "host": "example.org",
|
|
|
|
|
+ "hostname": "example.org",
|
|
|
|
|
+ "port": "",
|
|
|
|
|
+ "pathname": "/",
|
|
|
|
|
+ "search": "",
|
|
|
|
|
+ "hash": "#link"
|
|
|
}
|
|
}
|
|
|
]
|
|
]
|