netwerk/test/unit/test_standardurl_port.js

changeset 1
ca08bd8f51b2
equal deleted inserted replaced
-1:000000000000 0:55379cd693e9
1 var Cc = Components.classes;
2 var Ci = Components.interfaces;
3
4 function run_test() {
5 function makeURI(aURLSpec, aCharset) {
6 var ios = Cc["@mozilla.org/network/io-service;1"].
7 getService(Ci.nsIIOService);
8 return ios.newURI(aURLSpec, aCharset, null);
9 }
10
11 var httpURI = makeURI("http://foo.com");
12 do_check_eq(-1, httpURI.port);
13
14 // Setting to default shouldn't cause a change
15 httpURI.port = 80;
16 do_check_eq(-1, httpURI.port);
17
18 // Setting to default after setting to non-default shouldn't cause a change (bug 403480)
19 httpURI.port = 123;
20 do_check_eq(123, httpURI.port);
21 httpURI.port = 80;
22 do_check_eq(-1, httpURI.port);
23 do_check_false(/80/.test(httpURI.spec));
24
25 // URL parsers shouldn't set ports to default value (bug 407538)
26 httpURI.spec = "http://foo.com:81";
27 do_check_eq(81, httpURI.port);
28 httpURI.spec = "http://foo.com:80";
29 do_check_eq(-1, httpURI.port);
30 do_check_false(/80/.test(httpURI.spec));
31
32 httpURI = makeURI("http://foo.com");
33 do_check_eq(-1, httpURI.port);
34 do_check_false(/80/.test(httpURI.spec));
35
36 httpURI = makeURI("http://foo.com:80");
37 do_check_eq(-1, httpURI.port);
38 do_check_false(/80/.test(httpURI.spec));
39
40 httpURI = makeURI("http://foo.com:80");
41 do_check_eq(-1, httpURI.port);
42 do_check_false(/80/.test(httpURI.spec));
43
44 httpURI = makeURI("https://foo.com");
45 do_check_eq(-1, httpURI.port);
46 do_check_false(/443/.test(httpURI.spec));
47
48 httpURI = makeURI("https://foo.com:443");
49 do_check_eq(-1, httpURI.port);
50 do_check_false(/443/.test(httpURI.spec));
51
52 // XXX URL parsers shouldn't set ports to default value, even when changing scheme?
53 // not really possible given current nsIURI impls
54 //httpURI.spec = "https://foo.com:443";
55 //do_check_eq(-1, httpURI.port);
56 }

mercurial