2 * Test for unassigned code points in IDNs (RFC 3454 section 7)
9 function expected_pass(inputIDN
) {
10 var displayIDN
= idnService
.convertToDisplayIDN(inputIDN
);
11 Assert
.equal(displayIDN
, inputIDN
);
14 function expected_fail(inputIDN
) {
18 displayIDN
= idnService
.convertToDisplayIDN(inputIDN
);
21 Assert
.notEqual(displayIDN
, inputIDN
);
25 idnService
= Cc
["@mozilla.org/network/idn-service;1"].getService(
29 // assigned code point
30 expected_pass("foo\u0101bar.com");
32 // assigned code point in punycode. Should *fail* because the URL will be
33 // converted to Unicode for display
34 expected_fail("xn--foobar-5za.com");
36 // unassigned code point
37 expected_fail("foo\u3040bar.com");
39 // unassigned code point in punycode. Should *fail* because Punycode
40 // is decoded and checked.
41 expected_fail("xn--foobar-533e.com");
43 // code point assigned since Unicode 3.0
44 // XXX This test will unexpectedly pass when we update to IDNAbis
45 expected_fail("foo\u0370bar.com");