Home | History | Annotate | Download | only in url
      1 Canonicalization of standard URLs
      2 
      3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
      4 
      5 
      6 PASS canonicalize('http://www.google.com/foo?bar=baz#') is 'http://www.google.com/foo?bar=baz#'
      7 FAIL canonicalize('http://www.google.com/foo?bar=baz# ') should be http://www.google.com/foo?bar=baz# . Was http://www.google.com/foo?bar=baz# %BB.
      8 PASS canonicalize('http://[www.google.com]/') is 'http://[www.google.com]/'
      9 PASS canonicalize('http://www.google.com') is 'http://www.google.com/'
     10 FAIL canonicalize('http:////////user:@google.com:99?foo') should be http://user@google.com:99/?foo. Was http://////user:@google.com:99?foo.
     11 FAIL canonicalize('http://192.0x00A80001') should be http://192.168.0.1/. Was http://192.0x00A80001/.
     12 FAIL canonicalize('http://www/foo%2Ehtml') should be http://www/foo.html. Was http://www/foo%2Ehtml.
     13 PASS canonicalize('http://user:pass@/') is 'http://user:pass@/'
     14 PASS canonicalize('http://%25DOMAIN:foobar@foodomain.com/') is 'http://%25DOMAIN:foobar@foodomain.com/'
     15 PASS canonicalize('http:\\\\www.google.com\\foo') is 'http://www.google.com/foo'
     16 FAIL canonicalize('http://www.google.com/asdf#\ud800') should be http://www.google.com/asdf#. Was http://www.google.com/asdf#%26%2355296%3B.
     17 PASS canonicalize('http://foo:80/') is 'http://foo/'
     18 PASS canonicalize('http://foo:81/') is 'http://foo:81/'
     19 PASS canonicalize('httpa://foo:80/') is 'httpa://foo:80/'
     20 PASS canonicalize('http://foo:-80/') is 'http://foo:-80/'
     21 PASS canonicalize('https://foo:443/') is 'https://foo/'
     22 PASS canonicalize('https://foo:80/') is 'https://foo:80/'
     23 PASS canonicalize('ftp://foo:21/') is 'ftp://foo/'
     24 PASS canonicalize('ftp://foo:80/') is 'ftp://foo:80/'
     25 PASS canonicalize('gopher://foo:70/') is 'gopher://foo/'
     26 PASS canonicalize('gopher://foo:443/') is 'gopher://foo:443/'
     27 PASS canonicalize('ws://foo:80/') is 'ws://foo/'
     28 PASS canonicalize('ws://foo:81/') is 'ws://foo:81/'
     29 PASS canonicalize('ws://foo:443/') is 'ws://foo:443/'
     30 PASS canonicalize('ws://foo:815/') is 'ws://foo:815/'
     31 PASS canonicalize('wss://foo:80/') is 'wss://foo:80/'
     32 PASS canonicalize('wss://foo:81/') is 'wss://foo:81/'
     33 PASS canonicalize('wss://foo:443/') is 'wss://foo/'
     34 PASS canonicalize('wss://foo:815/') is 'wss://foo:815/'
     35 PASS canonicalize('http:/example.com/') is 'http://example.com/'
     36 PASS canonicalize('ftp:/example.com/') is 'ftp://example.com/'
     37 PASS canonicalize('https:/example.com/') is 'https://example.com/'
     38 PASS canonicalize('madeupscheme:/example.com/') is 'madeupscheme:/example.com/'
     39 FAIL canonicalize('file:/example.com/') should be file://localhost/example.com/. Was file:///example.com/.
     40 PASS canonicalize('ftps:/example.com/') is 'ftps:/example.com/'
     41 PASS canonicalize('gopher:/example.com/') is 'gopher://example.com/'
     42 PASS canonicalize('ws:/example.com/') is 'ws://example.com/'
     43 PASS canonicalize('wss:/example.com/') is 'wss://example.com/'
     44 PASS canonicalize('data:/example.com/') is 'data:/example.com/'
     45 PASS canonicalize('javascript:/example.com/') is 'javascript:/example.com/'
     46 PASS canonicalize('mailto:/example.com/') is 'mailto:/example.com/'
     47 PASS canonicalize('http:example.com/') is 'http://example.com/'
     48 PASS canonicalize('ftp:example.com/') is 'ftp://example.com/'
     49 PASS canonicalize('https:example.com/') is 'https://example.com/'
     50 PASS canonicalize('madeupscheme:example.com/') is 'madeupscheme:example.com/'
     51 PASS canonicalize('ftps:example.com/') is 'ftps:example.com/'
     52 PASS canonicalize('gopher:example.com/') is 'gopher://example.com/'
     53 PASS canonicalize('ws:example.com/') is 'ws://example.com/'
     54 PASS canonicalize('wss:example.com/') is 'wss://example.com/'
     55 PASS canonicalize('data:example.com/') is 'data:example.com/'
     56 PASS canonicalize('javascript:example.com/') is 'javascript:example.com/'
     57 PASS canonicalize('mailto:example.com/') is 'mailto:example.com/'
     58 PASS canonicalize('javascript:alert(\t 1 \n\r)') is 'javascript:alert( 1 )'
     59 PASS canonicalize('javascript:alert("   ")') is 'javascript:alert(" %01 %CE%B2 ")'
     60 PASS successfullyParsed is true
     61 
     62 TEST COMPLETE
     63 
     64