michael@0: var valid_URIs = [ "http://[::]/", michael@0: "http://[::1]/", michael@0: "http://[1::]/", michael@0: "http://[::]/", michael@0: "http://[::1]/", michael@0: "http://[1::]/", michael@0: "http://[1:2:3:4:5:6:7::]/", michael@0: "http://[::1:2:3:4:5:6:7]/", michael@0: "http://[1:2:a:B:c:D:e:F]/", michael@0: "http://[1::8]/", michael@0: "http://[1:2::8]/", michael@0: "http://[0000:0123:4567:89AB:CDEF:abcd:ef00:0000]/", michael@0: "http://[::192.168.1.1]/", michael@0: "http://[1::0.0.0.0]/", michael@0: "http://[1:2::255.255.255.255]/", michael@0: "http://[1:2:3::255.255.255.255]/", michael@0: "http://[1:2:3:4::255.255.255.255]/", michael@0: "http://[1:2:3:4:5::255.255.255.255]/", michael@0: "http://[1:2:3:4:5:6:255.255.255.255]/"]; michael@0: michael@0: var invalid_URIs = [ "http://[1]/", michael@0: "http://[192.168.1.1]/", michael@0: "http://[:::]/", michael@0: "http://[:::1]/", michael@0: "http://[1:::]/", michael@0: "http://[::1::]/", michael@0: "http://[1:2:3:4:5:6:7:]/", michael@0: "http://[:2:3:4:5:6:7:8]/", michael@0: "http://[1:2:3:4:5:6:7:8:]/", michael@0: "http://[:1:2:3:4:5:6:7:8]/", michael@0: "http://[1:2:3:4:5:6:7:8::]/", michael@0: "http://[::1:2:3:4:5:6:7:8]/", michael@0: "http://[1:2:3:4:5:6:7]/", michael@0: "http://[1:2:3:4:5:6:7:8:9]/", michael@0: "http://[00001:2:3:4:5:6:7:8]/", michael@0: "http://[0001:2:3:4:5:6:7:89abc]/", michael@0: "http://[A:b:C:d:E:f:G:h]/", michael@0: "http://[::192.168.1]/", michael@0: "http://[::192.168.1.]/", michael@0: "http://[::.168.1.1]/", michael@0: "http://[::192..1.1]/", michael@0: "http://[::0192.168.1.1]/", michael@0: "http://[::256.255.255.255]/", michael@0: "http://[::1x.255.255.255]/", michael@0: "http://[::192.4294967464.1.1]/", michael@0: "http://[1:2:3:4:5:6::255.255.255.255]/", michael@0: "http://[1:2:3:4:5:6:7:255.255.255.255]/"]; michael@0: michael@0: function run_test() { michael@0: var ios = Cc["@mozilla.org/network/io-service;1"]. michael@0: getService(Ci.nsIIOService); michael@0: michael@0: for (var i=0 ; i