3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 PASS segments('http://user:pass@foo:21/bar;par?b#c') is '["http:","foo","21","/bar;par","?b","#c"]'
7 PASS segments('http:foo.com') is '["http:","foo.com","","/","",""]'
8 PASS segments('\t :foo.com \n') is '[":","","","","",""]'
9 PASS segments(' foo.com ') is '[":","","","","",""]'
10 PASS segments('a:\t foo.com') is '["a:","",""," foo.com","",""]'
11 PASS segments('http://f:21/ b ? d # e ') is '["http:","f","21","/%20b%20","?%20d%20","# e"]'
12 PASS segments('http://f:/c') is '["http:","f","","/c","",""]'
13 PASS segments('http://f:0/c') is '["http:","f","0","/c","",""]'
14 PASS segments('http://f:00000000000000/c') is '["http:","f","0","/c","",""]'
15 FAIL segments('http://f:00000000000000000000080/c') should be ["http:","f","0","/c","",""]. Was ["http:","f","","/c","",""].
16 FAIL segments('http://f:b/c') should be [":","","","","",""]. Was [":","","0","","",""].
17 FAIL segments('http://f: /c') should be [":","","","","",""]. Was [":","","0","","",""].
18 FAIL segments('http://f:\n/c') should be [":","","","","",""]. Was ["http:","f","","/c","",""].
19 FAIL segments('http://f:fifty-two/c') should be [":","","","","",""]. Was [":","","0","","",""].
20 PASS segments('http://f:999999/c') is '[":","","0","","",""]'
21 FAIL segments('http://f: 21 / b ? d # e ') should be [":","","","","",""]. Was [":","","0","","",""].
22 PASS segments('') is '["data:","","","text/plain,baseURL","",""]'
23 PASS segments(' \t') is '["data:","","","text/plain,baseURL","",""]'
24 PASS segments(':foo.com/') is '[":","","","","",""]'
25 PASS segments(':foo.com\\') is '[":","","","","",""]'
26 PASS segments(':') is '[":","","","","",""]'
27 PASS segments(':a') is '[":","","","","",""]'
28 PASS segments(':/') is '[":","","","","",""]'
29 PASS segments(':\\') is '[":","","","","",""]'
30 PASS segments(':#') is '[":","","","","",""]'
31 PASS segments('#') is '["data:","","","text/plain,baseURL","",""]'
32 PASS segments('#/') is '["data:","","","text/plain,baseURL","","#/"]'
33 PASS segments('#\\') is '["data:","","","text/plain,baseURL","","#\\\\"]'
34 PASS segments('#;?') is '["data:","","","text/plain,baseURL","","#;?"]'
35 PASS segments('?') is '[":","","","","",""]'
36 PASS segments('/') is '[":","","","","",""]'
37 PASS segments(':23') is '[":","","","","",""]'
38 PASS segments('/:23') is '[":","","","","",""]'
39 PASS segments('//') is '[":","","","","",""]'
40 PASS segments('::') is '[":","","","","",""]'
41 PASS segments('::23') is '[":","","","","",""]'
42 PASS segments('foo://') is '["foo:","","","//","",""]'
43 PASS segments('http://a:b@c:29/d') is '["http:","c","29","/d","",""]'
44 PASS segments('http::@c:29') is '["http:","c","29","/","",""]'
45 PASS segments('http://&a:foo(b]c@d:2/') is '["http:","d","2","/","",""]'
46 PASS segments('http://::@c@d:2') is '["http:","d","2","/","",""]'
47 PASS segments('http://foo.com:b@d/') is '["http:","d","","/","",""]'
48 PASS segments('http://foo.com/\\@') is '["http:","foo.com","","//@","",""]'
49 PASS segments('http:\\\\foo.com\\') is '["http:","foo.com","","/","",""]'
50 PASS segments('http:\\\\a\\b:c\\d@foo.com\\') is '["http:","a","","/b:c/d@foo.com/","",""]'
51 PASS segments('foo:/') is '["foo:","","","/","",""]'
52 PASS segments('foo:/bar.com/') is '["foo:","","","/bar.com/","",""]'
53 PASS segments('foo://///////') is '["foo:","","","/////////","",""]'
54 PASS segments('foo://///////bar.com/') is '["foo:","","","/////////bar.com/","",""]'
55 PASS segments('foo:////://///') is '["foo:","","","////://///","",""]'
56 PASS segments('c:/foo') is '["c:","","","/foo","",""]'
57 PASS segments('//foo/bar') is '[":","","","","",""]'
58 PASS segments('http://foo/path;a??e#f#g') is '["http:","foo","","/path;a","??e","#f#g"]'
59 PASS segments('http://foo/abcd?efgh?ijkl') is '["http:","foo","","/abcd","?efgh?ijkl",""]'
60 PASS segments('http://foo/abcd#foo?bar') is '["http:","foo","","/abcd","","#foo?bar"]'
61 PASS segments('[61:24:74]:98') is '[":","","","","",""]'
62 PASS segments('http://[61:27]:98') is '[":","","0","","",""]'
63 PASS segments('http:[61:27]/:foo') is '[":","","","","",""]'
64 FAIL segments('http://[1::2]:3:4') should be [":","","","","",""]. Was [":","","0","","",""].
65 FAIL segments('http://2001::1') should be [":","","","","",""]. Was [":","","0","","",""].
66 PASS segments('http://[2001::1') is '[":","","","","",""]'
67 PASS segments('http://2001::1]') is '[":","","","","",""]'
68 PASS segments('http://2001::1]:80') is '[":","","","","",""]'
69 PASS segments('http://[2001::1]') is '["http:","[2001::1]","","/","",""]'
70 PASS segments('http://[2001::1]:80') is '["http:","[2001::1]","","/","",""]'
71 PASS segments('http://[[::]]') is '[":","","","","",""]'
72 PASS successfullyParsed is true