aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/URI.js/test/urls.js
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/URI.js/test/urls.js')
-rw-r--r--thirdparty/URI.js/test/urls.js1892
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
- }
- }
-];
-