1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/test/unit/test_bug504014.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,69 @@ 1.4 +var valid_URIs = [ "http://[::]/", 1.5 + "http://[::1]/", 1.6 + "http://[1::]/", 1.7 + "http://[::]/", 1.8 + "http://[::1]/", 1.9 + "http://[1::]/", 1.10 + "http://[1:2:3:4:5:6:7::]/", 1.11 + "http://[::1:2:3:4:5:6:7]/", 1.12 + "http://[1:2:a:B:c:D:e:F]/", 1.13 + "http://[1::8]/", 1.14 + "http://[1:2::8]/", 1.15 + "http://[0000:0123:4567:89AB:CDEF:abcd:ef00:0000]/", 1.16 + "http://[::192.168.1.1]/", 1.17 + "http://[1::0.0.0.0]/", 1.18 + "http://[1:2::255.255.255.255]/", 1.19 + "http://[1:2:3::255.255.255.255]/", 1.20 + "http://[1:2:3:4::255.255.255.255]/", 1.21 + "http://[1:2:3:4:5::255.255.255.255]/", 1.22 + "http://[1:2:3:4:5:6:255.255.255.255]/"]; 1.23 + 1.24 +var invalid_URIs = [ "http://[1]/", 1.25 + "http://[192.168.1.1]/", 1.26 + "http://[:::]/", 1.27 + "http://[:::1]/", 1.28 + "http://[1:::]/", 1.29 + "http://[::1::]/", 1.30 + "http://[1:2:3:4:5:6:7:]/", 1.31 + "http://[:2:3:4:5:6:7:8]/", 1.32 + "http://[1:2:3:4:5:6:7:8:]/", 1.33 + "http://[:1:2:3:4:5:6:7:8]/", 1.34 + "http://[1:2:3:4:5:6:7:8::]/", 1.35 + "http://[::1:2:3:4:5:6:7:8]/", 1.36 + "http://[1:2:3:4:5:6:7]/", 1.37 + "http://[1:2:3:4:5:6:7:8:9]/", 1.38 + "http://[00001:2:3:4:5:6:7:8]/", 1.39 + "http://[0001:2:3:4:5:6:7:89abc]/", 1.40 + "http://[A:b:C:d:E:f:G:h]/", 1.41 + "http://[::192.168.1]/", 1.42 + "http://[::192.168.1.]/", 1.43 + "http://[::.168.1.1]/", 1.44 + "http://[::192..1.1]/", 1.45 + "http://[::0192.168.1.1]/", 1.46 + "http://[::256.255.255.255]/", 1.47 + "http://[::1x.255.255.255]/", 1.48 + "http://[::192.4294967464.1.1]/", 1.49 + "http://[1:2:3:4:5:6::255.255.255.255]/", 1.50 + "http://[1:2:3:4:5:6:7:255.255.255.255]/"]; 1.51 + 1.52 +function run_test() { 1.53 + var ios = Cc["@mozilla.org/network/io-service;1"]. 1.54 + getService(Ci.nsIIOService); 1.55 + 1.56 + for (var i=0 ; i<valid_URIs.length ; i++) { 1.57 + try { 1.58 + var uri = ios.newURI(valid_URIs[i], null, null); 1.59 + } catch (e) { 1.60 + do_throw("cannot create URI:" + valid_URIs[i]); 1.61 + } 1.62 + } 1.63 + 1.64 + for (var i=0 ; i<invalid_URIs.length ; i++) { 1.65 + try { 1.66 + var uri = ios.newURI(invalid_URIs[i], null, null); 1.67 + do_throw("should throw: " + invalid_URIs[i]); 1.68 + } catch (e) { 1.69 + do_check_eq(e.result, Cr.NS_ERROR_MALFORMED_URI); 1.70 + } 1.71 + } 1.72 +}