mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-02 05:17:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
59
netwerk/test/unit/test_bug479413.js
Normal file
59
netwerk/test/unit/test_bug479413.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
* Test for unassigned code points in IDNs (RFC 3454 section 7)
|
||||
*/
|
||||
|
||||
var idnService;
|
||||
|
||||
function expected_pass(inputIDN)
|
||||
{
|
||||
var isASCII = {};
|
||||
var displayIDN = idnService.convertToDisplayIDN(inputIDN, isASCII);
|
||||
do_check_eq(displayIDN, inputIDN);
|
||||
}
|
||||
|
||||
function expected_fail(inputIDN)
|
||||
{
|
||||
var isASCII = {};
|
||||
var displayIDN = "";
|
||||
|
||||
try {
|
||||
displayIDN = idnService.convertToDisplayIDN(inputIDN, isASCII);
|
||||
}
|
||||
catch(e) {}
|
||||
|
||||
do_check_neq(displayIDN, inputIDN);
|
||||
}
|
||||
|
||||
function run_test() {
|
||||
// add an IDN whitelist pref
|
||||
var pbi = Cc["@mozilla.org/preferences-service;1"]
|
||||
.getService(Ci.nsIPrefBranch);
|
||||
var whitelistPref = "network.IDN.whitelist.com";
|
||||
|
||||
pbi.setBoolPref(whitelistPref, true);
|
||||
|
||||
idnService = Cc["@mozilla.org/network/idn-service;1"]
|
||||
.getService(Ci.nsIIDNService);
|
||||
|
||||
// assigned code point
|
||||
expected_pass("foo\u0101bar.com");
|
||||
|
||||
// assigned code point in punycode. Should *fail* because the URL will be
|
||||
// converted to Unicode for display
|
||||
expected_fail("xn--foobar-5za.com");
|
||||
|
||||
// unassigned code point
|
||||
expected_fail("foo\u3040bar.com");
|
||||
|
||||
// unassigned code point in punycode. Should *pass* because the URL will not
|
||||
// be converted to Unicode
|
||||
expected_pass("xn--foobar-533e.com");
|
||||
|
||||
// code point assigned since Unicode 3.0
|
||||
// XXX This test will unexpectedly pass when we update to IDNAbis
|
||||
expected_fail("foo\u0370bar.com");
|
||||
|
||||
// reset the pref
|
||||
if (pbi.prefHasUserValue(whitelistPref))
|
||||
pbi.clearUserPref(whitelistPref);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue