| Test URL segmentation |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS segments('http://user:pass@foo:21/bar;par?b#c') is '["http:","foo","21","/bar;par","?b","#c"]' |
| PASS segments('http:foo.com') is '["http:","example.org","","/foo/foo.com","",""]' |
| PASS segments('\t :foo.com \n') is '["http:","example.org","","/foo/:foo.com","",""]' |
| PASS segments(' foo.com ') is '["http:","example.org","","/foo/foo.com","",""]' |
| PASS segments('a:\t foo.com') is '["a:","",""," foo.com","",""]' |
| PASS segments('http://f:21/ b ? d # e ') is '["http:","f","21","/%20b%20","?%20d%20","#%20e"]' |
| PASS segments('http://f:/c') is '["http:","f","","/c","",""]' |
| PASS segments('http://f:0/c') is '["http:","f","0","/c","",""]' |
| PASS segments('http://f:00000000000000/c') is '["http:","f","0","/c","",""]' |
| FAIL segments('http://f:00000000000000000000080/c') should be ["http:","f","0","/c","",""]. Was ["http:","f","","/c","",""]. |
| PASS segments('http://f:b/c') is '[":","","","","",""]' |
| PASS segments('http://f: /c') is '[":","","","","",""]' |
| PASS segments('http://f:\n/c') is '["http:","f","","/c","",""]' |
| PASS segments('http://f:fifty-two/c') is '[":","","","","",""]' |
| FAIL segments('http://f:999999/c') should be [":","","0","","",""]. Was [":","","","","",""]. |
| PASS segments('http://f: 21 / b ? d # e ') is '[":","","","","",""]' |
| PASS segments('') is '["http:","example.org","","/foo/bar","",""]' |
| PASS segments(' \t') is '["http:","example.org","","/foo/bar","",""]' |
| PASS segments(':foo.com/') is '["http:","example.org","","/foo/:foo.com/","",""]' |
| PASS segments(':foo.com\\') is '["http:","example.org","","/foo/:foo.com/","",""]' |
| PASS segments(':') is '["http:","example.org","","/foo/:","",""]' |
| PASS segments(':a') is '["http:","example.org","","/foo/:a","",""]' |
| PASS segments(':/') is '["http:","example.org","","/foo/:/","",""]' |
| PASS segments(':\\') is '["http:","example.org","","/foo/:/","",""]' |
| PASS segments(':#') is '["http:","example.org","","/foo/:","",""]' |
| PASS segments('#') is '["http:","example.org","","/foo/bar","",""]' |
| PASS segments('#/') is '["http:","example.org","","/foo/bar","","#/"]' |
| PASS segments('#\\') is '["http:","example.org","","/foo/bar","","#\\\\"]' |
| PASS segments('#;?') is '["http:","example.org","","/foo/bar","","#;?"]' |
| PASS segments('?') is '["http:","example.org","","/foo/bar","",""]' |
| PASS segments('/') is '["http:","example.org","","/","",""]' |
| PASS segments(':23') is '["http:","example.org","","/foo/:23","",""]' |
| PASS segments('/:23') is '["http:","example.org","","/:23","",""]' |
| PASS segments('//') is '[":","","","","",""]' |
| PASS segments('::') is '["http:","example.org","","/foo/::","",""]' |
| PASS segments('::23') is '["http:","example.org","","/foo/::23","",""]' |
| FAIL segments('foo://') should be ["foo:","","","//","",""]. Was ["foo:","","","","",""]. |
| PASS segments('http://a:b@c:29/d') is '["http:","c","29","/d","",""]' |
| PASS segments('http::@c:29') is '["http:","example.org","","/foo/:@c:29","",""]' |
| PASS segments('http://&a:foo(b]c@d:2/') is '["http:","d","2","/","",""]' |
| PASS segments('http://::@c@d:2') is '["http:","d","2","/","",""]' |
| PASS segments('http://foo.com:b@d/') is '["http:","d","","/","",""]' |
| PASS segments('http://foo.com/\\@') is '["http:","foo.com","","//@","",""]' |
| PASS segments('http:\\\\foo.com\\') is '["http:","foo.com","","/","",""]' |
| PASS segments('http:\\\\a\\b:c\\d@foo.com\\') is '["http:","a","","/b:c/d@foo.com/","",""]' |
| PASS segments('foo:/') is '["foo:","","","/","",""]' |
| PASS segments('foo:/bar.com/') is '["foo:","","","/bar.com/","",""]' |
| FAIL segments('foo://///////') should be ["foo:","","","/////////","",""]. Was ["foo:","","","///////","",""]. |
| FAIL segments('foo://///////bar.com/') should be ["foo:","","","/////////bar.com/","",""]. Was ["foo:","","","///////bar.com/","",""]. |
| FAIL segments('foo:////://///') should be ["foo:","","","////://///","",""]. Was ["foo:","","","//://///","",""]. |
| PASS segments('c:/foo') is '["c:","","","/foo","",""]' |
| PASS segments('//foo/bar') is '["http:","foo","","/bar","",""]' |
| PASS segments('http://foo/path;a??e#f#g') is '["http:","foo","","/path;a","??e","#f#g"]' |
| PASS segments('http://foo/abcd?efgh?ijkl') is '["http:","foo","","/abcd","?efgh?ijkl",""]' |
| PASS segments('http://foo/abcd#foo?bar') is '["http:","foo","","/abcd","","#foo?bar"]' |
| PASS segments('[61:24:74]:98') is '["http:","example.org","","/foo/[61:24:74]:98","",""]' |
| FAIL segments('http://[61:27]:98') should be [":","","0","","",""]. Was [":","","","","",""]. |
| PASS segments('http:[61:27]/:foo') is '["http:","example.org","","/foo/[61:27]/:foo","",""]' |
| PASS segments('http://[1::2]:3:4') is '[":","","","","",""]' |
| PASS segments('http://2001::1') is '[":","","","","",""]' |
| PASS segments('http://[2001::1') is '[":","","","","",""]' |
| PASS segments('http://2001::1]') is '[":","","","","",""]' |
| PASS segments('http://2001::1]:80') is '[":","","","","",""]' |
| PASS segments('http://[2001::1]') is '["http:","[2001::1]","","/","",""]' |
| PASS segments('http://[2001::1]:80') is '["http:","[2001::1]","","/","",""]' |
| PASS segments('http://[[::]]') is '[":","","","","",""]' |
| PASS segments('http:/example.com/') is '["http:","example.org","","/example.com/","",""]' |
| PASS segments('ftp:/example.com/') is '["ftp:","example.com","","/","",""]' |
| PASS segments('https:/example.com/') is '["https:","example.com","","/","",""]' |
| PASS segments('madeupscheme:/example.com/') is '["madeupscheme:","","","/example.com/","",""]' |
| PASS segments('file:/example.com/') is '["file:","","","/example.com/","",""]' |
| PASS segments('ftps:/example.com/') is '["ftps:","","","/example.com/","",""]' |
| PASS segments('gopher:/example.com/') is '["gopher:","","","/example.com/","",""]' |
| PASS segments('ws:/example.com/') is '["ws:","example.com","","/","",""]' |
| PASS segments('wss:/example.com/') is '["wss:","example.com","","/","",""]' |
| PASS segments('data:/example.com/') is '["data:","","","/example.com/","",""]' |
| PASS segments('javascript:/example.com/') is '["javascript:","","","/example.com/","",""]' |
| PASS segments('mailto:/example.com/') is '["mailto:","","","/example.com/","",""]' |
| PASS segments('http:example.com/') is '["http:","example.org","","/foo/example.com/","",""]' |
| PASS segments('ftp:example.com/') is '["ftp:","example.com","","/","",""]' |
| PASS segments('https:example.com/') is '["https:","example.com","","/","",""]' |
| PASS segments('madeupscheme:example.com/') is '["madeupscheme:","","","example.com/","",""]' |
| PASS segments('file:example.com/') is '["file:","","","/example.com/","",""]' |
| PASS segments('ftps:example.com/') is '["ftps:","","","example.com/","",""]' |
| PASS segments('gopher:example.com/') is '["gopher:","","","example.com/","",""]' |
| PASS segments('ws:example.com/') is '["ws:","example.com","","/","",""]' |
| PASS segments('wss:example.com/') is '["wss:","example.com","","/","",""]' |
| PASS segments('data:example.com/') is '["data:","","","example.com/","",""]' |
| PASS segments('javascript:example.com/') is '["javascript:","","","example.com/","",""]' |
| PASS segments('mailto:example.com/') is '["mailto:","","","example.com/","",""]' |
| PASS segments('/a/b/c') is '["http:","example.org","","/a/b/c","",""]' |
| PASS segments('/a/ /c') is '["http:","example.org","","/a/%20/c","",""]' |
| PASS segments('/a%2fc') is '["http:","example.org","","/a%2fc","",""]' |
| PASS segments('/a/%2f/c') is '["http:","example.org","","/a/%2f/c","",""]' |
| FAIL segments('#β') should be ["http:","example.org","","/foo/bar","","#β"]. Was ["http:","example.org","","/foo/bar","","#%CE%B2"]. |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |