diff options
Diffstat (limited to 'thirdparty/URI.js/test/urls.js')
-rw-r--r-- | thirdparty/URI.js/test/urls.js | 1892 |
1 files changed, 0 insertions, 1892 deletions
diff --git a/thirdparty/URI.js/test/urls.js b/thirdparty/URI.js/test/urls.js deleted file mode 100644 index b38337ec0..000000000 --- a/thirdparty/URI.js/test/urls.js +++ /dev/null @@ -1,1892 +0,0 @@ -/*jshint unused:false, scripturl:true */ -var urls = [{ - name: 'scheme and domain', - url: 'http://www.example.org', - _url: 'http://www.example.org/', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.org', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: 'www.example.org', - origin: 'http://www.example.org', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '', - suffix: '', - hash: '', // location.hash style - search: '', // location.search style - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'second level domain', - url: 'http://www.example.co.uk', - _url: 'http://www.example.co.uk/', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.co.uk', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: 'www.example.co.uk', - origin: 'http://www.example.co.uk', - userinfo: '', - subdomain: 'www', - domain: 'example.co.uk', - tld: 'co.uk', - directory: '/', - filename: '', - suffix: '', - hash: '', // location.hash style - search: '', // location.search style - host: 'www.example.co.uk', - hostname: 'www.example.co.uk' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: true, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - },{ - name: 'qualified HTTP', - url: 'http://www.example.org/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.org', - port: null, - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'www.example.org', - origin: 'http://www.example.org', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'funky suffix', - url: 'http://www.example.org/some/directory/file.html-is-awesome?query=string#fragment', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.org', - port: null, - path: '/some/directory/file.html-is-awesome', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/some/directory/file.html-is-awesome', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html-is-awesome?query=string#fragment', - authority: 'www.example.org', - origin: 'http://www.example.org', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html-is-awesome', - suffix: '', - hash: '#fragment', - search: '?query=string', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'complete URL', - url: 'scheme://user:pass@www.example.org:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'scheme', - username: 'user', - password: 'pass', - hostname: 'www.example.org', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'scheme', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@www.example.org:123', - origin: 'scheme://user:pass@www.example.org:123', - userinfo: 'user:pass', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'www.example.org:123', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'badly encoded userinfo', - url: 'scheme://user:pass:word@www.example.org/', - _url: 'scheme://user:pass%3Aword@www.example.org/', - parts: { - protocol: 'scheme', - username: 'user', - password: 'pass:word', - hostname: 'www.example.org', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'scheme', - username: 'user', - password: 'pass:word', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: 'user:pass%3Aword@www.example.org', - origin: 'scheme://user:pass%3Aword@www.example.org', - userinfo: 'user:pass%3Aword', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'empty username with non-empty password', - url: 'scheme://:password@www.example.org/', - _url: 'scheme://:password@www.example.org/', - parts: { - protocol: 'scheme', - username: null, - password: 'password', - hostname: 'www.example.org', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'scheme', - username: '', - password: 'password', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: ':password@www.example.org', - origin: 'scheme://:password@www.example.org', - userinfo: ':password', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'malformed email in userinfo', - url: 'scheme://john@doe.com:pass:word@www.example.org/', - _url: 'scheme://john%40doe.com:pass%3Aword@www.example.org/', - parts: { - protocol: 'scheme', - username: 'john@doe.com', - password: 'pass:word', - hostname: 'www.example.org', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'scheme', - username: 'john@doe.com', - password: 'pass:word', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: 'john%40doe.com:pass%3Aword@www.example.org', - origin: 'scheme://john%40doe.com:pass%3Aword@www.example.org', - userinfo: 'john%40doe.com:pass%3Aword', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'host-relative: URL', - url: '/some/directory/file.html?query=string#fragment', - parts: { - protocol: null, - username: null, - password: null, - hostname: null, - port: null, - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: '', - username: '', - password: '', - port: '', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'path-relative: URL', - url: '../some/directory/file.html?query=string#fragment', - parts: { - protocol: null, - username: null, - password: null, - hostname: null, - port: null, - path: '../some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: '', - username: '', - password: '', - port: '', - path: '../some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '../some/directory/file.html?query=string#fragment', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '../some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'missing scheme', - url: 'user:pass@www.example.org:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'user', - username: null, - password: null, - hostname: null, - port: null, - path: 'pass@www.example.org:123/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'user', - username: '', - password: '', - port: '', - path: 'pass@www.example.org:123/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: 'pass@www.example.org:123/some/directory/file.html?query=string#fragment', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '', - filename: '', - suffix: '', - hash: '#fragment', - search: '?query=string', - host: '', - hostname: '' - }, - is: { - urn: true, - url: false, - relative: false, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'ignoring scheme', - url: '://user:pass@example.org:123/some/directory/file.html?query=string#fragment', - _url: '//user:pass@example.org:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: null, - username: 'user', - password: 'pass', - hostname: 'example.org', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: '', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@example.org:123', - origin: 'user:pass@example.org:123', - userinfo: 'user:pass', - subdomain: '', - domain: 'example.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'example.org:123', - hostname: 'example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'scheme-relative URL', - url: '//www.example.org/', - parts: { - protocol: null, - username: null, - password: null, - hostname: 'www.example.org', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: '', - username: '', - password: '', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: 'www.example.org', - origin: 'www.example.org', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'IPv4', - url: 'http://user:pass@123.123.123.123:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: 'user', - password: 'pass', - hostname: '123.123.123.123', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@123.123.123.123:123', - origin: 'http://user:pass@123.123.123.123:123', - userinfo: 'user:pass', - subdomain: '', - domain: '', - tld: '', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: '123.123.123.123:123', - hostname: '123.123.123.123' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: true, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'IPv6', - url: 'http://user:pass@fe80:0000:0000:0000:0204:61ff:fe9d:f156/some/directory/file.html?query=string#fragment', - _url: 'http://user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: 'user', - password: 'pass', - hostname: 'fe80:0000:0000:0000:0204:61ff:fe9d:f156', - port: null, - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: 'user', - password: 'pass', - port: '', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]', - origin: 'http://user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]', - userinfo: 'user:pass', - subdomain: '', - domain: '', - tld: '', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: '[fe80:0000:0000:0000:0204:61ff:fe9d:f156]', - hostname: 'fe80:0000:0000:0000:0204:61ff:fe9d:f156' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 with port', - url: 'http://user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: 'user', - password: 'pass', - hostname: 'fe80:0000:0000:0000:0204:61ff:fe9d:f156', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]:123', - origin: 'http://user:pass@[fe80:0000:0000:0000:0204:61ff:fe9d:f156]:123', - userinfo: 'user:pass', - subdomain: '', - domain: '', - tld: '', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: '[fe80:0000:0000:0000:0204:61ff:fe9d:f156]:123', - hostname: 'fe80:0000:0000:0000:0204:61ff:fe9d:f156' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 brackets, port, file.ext', - url: 'http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210', - port: '80', - path: '/index.html', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '80', - path: '/index.html', - query: '', - fragment: '', - resource: '/index.html', - authority: '[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80', - origin: 'http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: 'index.html', - suffix: 'html', - hash: '', - search: '', - host: '[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80', - hostname: 'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 brackets, file.ext', - url: 'http://[1080:0:0:0:8:800:200C:417A]/index.html', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '1080:0:0:0:8:800:200C:417A', - port: null, - path: '/index.html', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/index.html', - query: '', - fragment: '', - resource: '/index.html', - authority: '[1080:0:0:0:8:800:200C:417A]', - origin: 'http://[1080:0:0:0:8:800:200C:417A]', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: 'index.html', - suffix: 'html', - hash: '', - search: '', - host: '[1080:0:0:0:8:800:200C:417A]', - hostname: '1080:0:0:0:8:800:200C:417A' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 brackets ::1', - url: 'http://[3ffe:2a00:100:7031::1]', - _url: 'http://[3ffe:2a00:100:7031::1]/', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '3ffe:2a00:100:7031::1', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: '[3ffe:2a00:100:7031::1]', - origin: 'http://[3ffe:2a00:100:7031::1]', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: '[3ffe:2a00:100:7031::1]', - hostname: '3ffe:2a00:100:7031::1' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 brackets, file', - url: 'http://[1080::8:800:200C:417A]/foo', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '1080::8:800:200C:417A', - port: null, - path: '/foo', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/foo', - query: '', - fragment: '', - resource: '/foo', - authority: '[1080::8:800:200C:417A]', - origin: 'http://[1080::8:800:200C:417A]', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: 'foo', - suffix: '', - hash: '', - search: '', - host: '[1080::8:800:200C:417A]', - hostname: '1080::8:800:200C:417A' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 IPv4 brackets, path', - url: 'http://[::192.9.5.5]/ipng', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '::192.9.5.5', - port: null, - path: '/ipng', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/ipng', - query: '', - fragment: '', - resource: '/ipng', - authority: '[::192.9.5.5]', - origin: 'http://[::192.9.5.5]', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: 'ipng', - suffix: '', - hash: '', - search: '', - host: '[::192.9.5.5]', - hostname: '::192.9.5.5' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 mask IPv4 brackets, port, file.ext', - url: 'http://[::FFFF:129.144.52.38]:80/index.html', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '::FFFF:129.144.52.38', - port: '80', - path: '/index.html', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '80', - path: '/index.html', - query: '', - fragment: '', - resource: '/index.html', - authority: '[::FFFF:129.144.52.38]:80', - origin: 'http://[::FFFF:129.144.52.38]:80', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: 'index.html', - suffix: 'html', - hash: '', - search: '', - host: '[::FFFF:129.144.52.38]:80', - hostname: '::FFFF:129.144.52.38' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IPv6 brackets', - url: 'http://[2010:836B:4179::836B:4179]', - _url: 'http://[2010:836B:4179::836B:4179]/', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: '2010:836B:4179::836B:4179', - port: null, - path: '/', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/', - query: '', - fragment: '', - resource: '/', - authority: '[2010:836B:4179::836B:4179]', - origin: 'http://[2010:836B:4179::836B:4179]', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/', - filename: '', - suffix: '', - hash: '', - search: '', - host: '[2010:836B:4179::836B:4179]', - hostname: '2010:836B:4179::836B:4179' - }, - is: { - urn: false, - url: true, - relative: false, - name: false, - sld: false, - ip: true, - ip4: false, - ip6: true, - idn: false, - punycode: false - } - }, { - name: 'IDN (punycode)', - url: 'http://user:pass@xn--exmple-cua.org:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: 'user', - password: 'pass', - hostname: 'xn--exmple-cua.org', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@xn--exmple-cua.org:123', - origin: 'http://user:pass@xn--exmple-cua.org:123', - userinfo: 'user:pass', - subdomain: '', - domain: 'xn--exmple-cua.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'xn--exmple-cua.org:123', - hostname: 'xn--exmple-cua.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: true - } - }, { - name: 'IDN', - url: 'http://user:pass@exämple.org:123/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: 'user', - password: 'pass', - hostname: 'exämple.org', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: 'user', - password: 'pass', - port: '123', - path: '/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/some/directory/file.html?query=string#fragment', - authority: 'user:pass@exämple.org:123', - origin: 'http://user:pass@exämple.org:123', - userinfo: 'user:pass', - subdomain: '', - domain: 'exämple.org', - tld: 'org', - directory: '/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'exämple.org:123', - hostname: 'exämple.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: true, - punycode: false - } - }, { - name: 'file://', - url: 'file:///foo/bar/baz.html', - parts: { - protocol: 'file', - username: null, - password: null, - hostname: null, - port: null, - path: '/foo/bar/baz.html', - query: null, - fragment: null - }, - accessors: { - protocol: 'file', - username: '', - password: '', - port: '', - path: '/foo/bar/baz.html', - query: '', - fragment: '', - resource: '/foo/bar/baz.html', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/foo/bar', - filename: 'baz.html', - suffix: 'html', - hash: '', - search: '', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'file://example.org:123', - url: 'file://example.org:123/foo/bar/baz.html', - parts: { - protocol: 'file', - username: null, - password: null, - hostname: 'example.org', - port: '123', - path: '/foo/bar/baz.html', - query: null, - fragment: null - }, - accessors: { - protocol: 'file', - username: '', - password: '', - port: '123', - path: '/foo/bar/baz.html', - query: '', - fragment: '', - resource: '/foo/bar/baz.html', - authority: 'example.org:123', - origin: 'file://example.org:123', - userinfo: '', - subdomain: '', - domain: 'example.org', - tld: 'org', - directory: '/foo/bar', - filename: 'baz.html', - suffix: 'html', - hash: '', - search: '', - host: 'example.org:123', - hostname: 'example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'file:// Windows-Drive-Letter', - url: 'file:///C:/WINDOWS/foo.txt', - parts: { - protocol: 'file', - username: null, - password: null, - hostname: null, - port: null, - path: '/C:/WINDOWS/foo.txt', - query: null, - fragment: null - }, - accessors: { - protocol: 'file', - username: '', - password: '', - port: '', - path: '/C:/WINDOWS/foo.txt', - query: '', - fragment: '', - resource: '/C:/WINDOWS/foo.txt', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/C:/WINDOWS', - filename: 'foo.txt', - suffix: 'txt', - hash: '', - search: '', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'file://example.org/ Windows-Drive-Letter', - url: 'file://example.org/C:/WINDOWS/foo.txt', - parts: { - protocol: 'file', - username: null, - password: null, - hostname: 'example.org', - port: null, - path: '/C:/WINDOWS/foo.txt', - query: null, - fragment: null - }, - accessors: { - protocol: 'file', - username: '', - password: '', - port: '', - path: '/C:/WINDOWS/foo.txt', - query: '', - fragment: '', - resource: '/C:/WINDOWS/foo.txt', - authority: 'example.org', - origin: 'file://example.org', - userinfo: '', - subdomain: '', - domain: 'example.org', - tld: 'org', - directory: '/C:/WINDOWS', - filename: 'foo.txt', - suffix: 'txt', - hash: '', - search: '', - host: 'example.org', - hostname: 'example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'file://localhost/ Windows-Drive-Letter with pipe', - url: 'file://localhost/C|/WINDOWS/foo.txt', - parts: { - protocol: 'file', - username: null, - password: null, - hostname: 'localhost', - port: null, - path: '/C|/WINDOWS/foo.txt', - query: null, - fragment: null - }, - accessors: { - protocol: 'file', - username: '', - password: '', - port: '', - path: '/C|/WINDOWS/foo.txt', - query: '', - fragment: '', - resource: '/C|/WINDOWS/foo.txt', - authority: 'localhost', - origin: 'file://localhost', - userinfo: '', - subdomain: '', - domain: 'localhost', - tld: 'localhost', - directory: '/C|/WINDOWS', - filename: 'foo.txt', - suffix: 'txt', - hash: '', - search: '', - host: 'localhost', - hostname: 'localhost' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'Path containing @', - url: 'http://www.example.org/@foobar', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.org', - port: null, - path: '/@foobar', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/@foobar', - query: '', - fragment: '', - resource: '/@foobar', - authority: 'www.example.org', - origin: 'http://www.example.org', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: '@foobar', - suffix: '', - hash: '', // location.hash style - search: '', // location.search style - host: 'www.example.org', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'mailto:', - url: 'mailto:hello@example.org?subject=hello', - _url: 'mailto:hello@example.org?subject=hello', - parts: { - protocol: 'mailto', - username: null, - password: null, - hostname: null, - port: null, - path: 'hello@example.org', - query: 'subject=hello', - fragment: null - }, - accessors: { - protocol: 'mailto', - username: '', - password: '', - port: '', - path: 'hello@example.org', - query: 'subject=hello', - fragment: '', - resource: 'hello@example.org?subject=hello', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '', - filename: '', - suffix: '', - hash: '', - search: '?subject=hello', - host: '', - hostname: '' - }, - is: { - urn: true, - url: false, - relative: false, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'magnet:', - url: 'magnet:?xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - _url: 'magnet:?xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - parts: { - protocol: 'magnet', - username: null, - password: null, - hostname: null, - port: null, - path: '', - query: 'xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - fragment: null - }, - accessors: { - protocol: 'magnet', - username: '', - password: '', - port: '', - path: '', - query: 'xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - fragment: '', - resource: '?xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '', - filename: '', - suffix: '', - hash: '', - search: '?xt=urn:btih:f8c020dac7a083defda1769a1196a13facc38ef6&dn=Linux+64x+server+11.10+Pt+Pt&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80', - host: '', - hostname: '' - }, - is: { - urn: true, - url: false, - relative: false, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'javascript:', - url: 'javascript:alert("hello world");', - _url: 'javascript:alert("hello world");', - parts: { - protocol: 'javascript', - username: null, - password: null, - hostname: null, - port: null, - path: 'alert("hello world");', - query: null, - fragment: null - }, - accessors: { - protocol: 'javascript', - username: '', - password: '', - port: '', - path: 'alert("hello world");', - query: '', - fragment: '', - resource: 'alert("hello world");', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '', - filename: '', - suffix: '', - hash: '', - search: '', - host: '', - hostname: '' - }, - is: { - urn: true, - url: false, - relative: false, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'colon in path', - url: 'http://en.wikipedia.org/wiki/Help:IPA', - _url: 'http://en.wikipedia.org/wiki/Help:IPA', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'en.wikipedia.org', - port: null, - path: '/wiki/Help:IPA', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/wiki/Help:IPA', - query: '', - fragment: '', - resource: '/wiki/Help:IPA', - authority: 'en.wikipedia.org', - origin: 'http://en.wikipedia.org', - userinfo: '', - subdomain: 'en', - domain: 'wikipedia.org', - tld: 'org', - directory: '/wiki', - filename: 'Help:IPA', - suffix: '', - hash: '', - search: '', - host: 'en.wikipedia.org', - hostname: 'en.wikipedia.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'colon in path without protocol', - url: '/wiki/Help:IPA', - _url: '/wiki/Help:IPA', - parts: { - protocol: null, - username: null, - password: null, - hostname: null, - port: null, - path: '/wiki/Help:IPA', - query: null, - fragment: null - }, - accessors: { - protocol: '', - username: '', - password: '', - port: '', - path: '/wiki/Help:IPA', - query: '', - fragment: '', - resource: '/wiki/Help:IPA', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/wiki', - filename: 'Help:IPA', - suffix: '', - hash: '', - search: '', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'colon dash dash in path without protocol', - url: '/foo/xy://bar', - _url: '/foo/xy://bar', - parts: { - protocol: null, - username: null, - password: null, - hostname: null, - port: null, - path: '/foo/xy://bar', - query: null, - fragment: null - }, - accessors: { - protocol: '', - username: '', - password: '', - port: '', - path: '/foo/xy://bar', - query: '', - fragment: '', - resource: '/foo/xy://bar', - authority: '', - origin: '', - userinfo: '', - subdomain: '', - domain: '', - tld: '', - directory: '/foo/xy:/', // sanitized empty directory! - filename: 'bar', - suffix: '', - hash: '', - search: '', - host: '', - hostname: '' - }, - is: { - urn: false, - url: true, - relative: true, - name: false, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'colon in path', - url: 'http://www.example.org:8080/hello:world', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'www.example.org', - port: '8080', - path: '/hello:world', - query: null, - fragment: null - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '8080', - path: '/hello:world', - query: '', - fragment: '', - resource: '/hello:world', - authority: 'www.example.org:8080', - origin: 'http://www.example.org:8080', - userinfo: '', - subdomain: 'www', - domain: 'example.org', - tld: 'org', - directory: '/', - filename: 'hello:world', - suffix: '', - hash: '', // location.hash style - search: '', // location.search style - host: 'www.example.org:8080', - hostname: 'www.example.org' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - }, { - name: 'backslashes', - url: 'http://i.xss.com\\www.example.org/some/directory/file.html?query=string#fragment', - _url: 'http://i.xss.com/www.example.org/some/directory/file.html?query=string#fragment', - parts: { - protocol: 'http', - username: null, - password: null, - hostname: 'i.xss.com', - port: null, - path: '/www.example.org/some/directory/file.html', - query: 'query=string', - fragment: 'fragment' - }, - accessors: { - protocol: 'http', - username: '', - password: '', - port: '', - path: '/www.example.org/some/directory/file.html', - query: 'query=string', - fragment: 'fragment', - resource: '/www.example.org/some/directory/file.html?query=string#fragment', - authority: 'i.xss.com', - origin: 'http://i.xss.com', - userinfo: '', - subdomain: 'i', - domain: 'xss.com', - tld: 'com', - directory: '/www.example.org/some/directory', - filename: 'file.html', - suffix: 'html', - hash: '#fragment', - search: '?query=string', - host: 'i.xss.com', - hostname: 'i.xss.com' - }, - is: { - urn: false, - url: true, - relative: false, - name: true, - sld: false, - ip: false, - ip4: false, - ip6: false, - idn: false, - punycode: false - } - } -]; - |