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