| Canonicalization of host names. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS canonicalize('http://GoOgLe.CoM/') is 'http://google.com/' |
| FAIL canonicalize('http://Goo%20 goo%7C|.com/') should be http://goo%20%20goo%7C%7C.com/. Was http://Goo%20 goo%7C|.com/. |
| FAIL canonicalize('http://GOO goo.com/') should be http://goo%20%20goo.com/. Was http://GOO goo.com/. |
| PASS canonicalize('http://GOOgoo.com/') is 'http://googoo.com/' |
| PASS canonicalize('http://www.foo。bar.com/') is 'http://www.foo.bar.com/' |
| FAIL canonicalize('http://zyx.com/') should be http://%EF%BF%BDzyx.com/. Was http://zyx.com/. |
| FAIL canonicalize('http://%ef%b7%90zyx.com/') should be http://%EF%BF%BDzyx.com/. Was http://%ef%b7%90zyx.com/. |
| PASS canonicalize('http://Go.com/') is 'http://go.com/' |
| FAIL canonicalize('http://%41.com/') should be http://a.com/. Was http://%41.com/. |
| FAIL canonicalize('http://%ef%bc%85%ef%bc%94%ef%bc%91.com/') should be http://a.com/. Was http://%ef%bc%85%ef%bc%94%ef%bc%91.com/. |
| FAIL canonicalize('http://%00.com/') should be http://%00.com/. Was http://%00.com/. |
| FAIL canonicalize('http://%ef%bc%85%ef%bc%90%ef%bc%90.com/') should be http://%00.com/. Was http://%ef%bc%85%ef%bc%90%ef%bc%90.com/. |
| PASS canonicalize('http://你好你好/') is 'http://xn--6qqa088eba/' |
| PASS canonicalize('http://%E4%BD%A0%E5%A5%BD你好/') is 'http://xn--6qqa088eba/' |
| FAIL canonicalize('http://%zz%66%a/') should be http://%25zzf%25a/. Was http://%zz%66%a/. |
| PASS canonicalize('http://%25/') is 'http://%25/' |
| PASS canonicalize('http://hello%00/') is 'http://hello%00/' |
| PASS canonicalize('http://%30%78%63%30%2e%30%32%35%30.01/') is 'http://192.168.0.1/' |
| PASS canonicalize('http://%30%78%63%30%2e%30%32%35%30.01%2e/') is 'http://192.168.0.1/' |
| FAIL canonicalize('http://%3g%78%63%30%2e%30%32%35%30%2E.01/') should be http://%253gxc0.0250..01/. Was http://%3g%78%63%30%2e%30%32%35%30%2E.01/. |
| FAIL canonicalize('http://192.168.0.1 hello/') should be http://192.168.0.1%20hello/. Was http://192.168.0.1 hello/. |
| PASS canonicalize('http://0Xc0.0250.01/') is 'http://192.168.0.1/' |
| PASS canonicalize('http://192.168.0.257/') is 'http://192.168.0.257/' |
| PASS canonicalize('http://[google.com]/') is 'http://[google.com]/' |
| FAIL canonicalize('http://т(/') should be http://xn--%28-7ed/. Was http://xn--(-8tb/. |
| PASS canonicalize('http://go\\@ogle.com/') is 'http://go/@ogle.com/' |
| PASS canonicalize('http://go/@ogle.com/') is 'http://go/@ogle.com/' |
| FAIL canonicalize('http://www.lookout.net::==80::==443::/') should be http://www.lookout.net::%3D%3D80::%3D%3D443:/. Was http://www.lookout.net::==80::==443::/. |
| PASS canonicalize('http://www.lookout.net::80::443/') is 'http://www.lookout.net::80::443/' |
| PASS canonicalize('http://\.//') is 'http://.//' |
| FAIL canonicalize('http:////:@//') should be http:////. Was http:////:@//. |
| PASS canonicalize('http://\google.com/foo/') is 'http://google.com/foo/' |
| PASS canonicalize('http://\\google.com/foo/') is 'http://google.com/foo/' |
| FAIL canonicalize('http:////asdf@//') should be http://asdf@//. Was http:////asdf@//. |
| FAIL canonicalize('http:////:81/') should be http://:81/. Was http:////:81/. |
| PASS canonicalize('http://:///') is 'http://:///' |
| PASS canonicalize('http://c:/') is 'http://c/' |
| PASS canonicalize('http://xxxx:/') is 'http://xxxx/' |
| PASS canonicalize('http://.:./') is 'http://.:./' |
| PASS canonicalize('http://////@google.com//') is 'http://google.com//' |
| PASS canonicalize('http://@google.com/') is 'http://google.com/' |
| PASS canonicalize('http://quip‐apple.com/') is 'http://xn--quipapple-y79d.com/' |
| PASS canonicalize('http://quip‑apple.com/') is 'http://xn--quipapple-y79d.com/' |
| PASS canonicalize('http://quip−apple.com/') is 'http://xn--quipapple-tf4e.com/' |
| PASS canonicalize('http://iclouꝱ.com/') is 'http://xn--iclou-rl3s.com/' |
| PASS canonicalize('http://gọọgle.com/') is 'http://xn--ggle-gx5aa.com/' |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |