Changes to existing tests caused by bug 722299, r=honza.b

This commit is contained in:
Simon Montagu 2013-03-01 03:56:45 -08:00
parent 71e7c793a4
commit 52cc90f289
5 changed files with 46 additions and 32 deletions

View File

@ -117,6 +117,8 @@ http://sub1.xn--lt-uia.example.org:8000 privileged
http://sub2.xn--lt-uia.example.org:80 privileged
http://xn--exmple-cua.test:80 privileged
http://sub1.xn--exmple-cua.test:80 privileged
http://xn--exaple-kqf.test:80 privileged
http://sub1.xn--exaple-kqf.test:80 privileged
https://xn--hxajbheg2az3al.xn--jxalpdlp:443 privileged
https://sub1.xn--hxajbheg2az3al.xn--jxalpdlp:443 privileged

View File

@ -21,10 +21,10 @@ function receiveMessage(evt)
if (/test$/.test(domain))
{
// XXX should really be IDN (bug 414090)
//if (domain !== "sub1.exämple.test")
//if (domain !== "sub1.exple.test")
// message += " wrong-initial-domain(" + domain + ")";
// for now expect the punycode value
if (domain !== "sub1.xn--exmple-cua.test")
if (domain !== "sub1.xn--exaple-kqf.test")
message += " wrong-initial-domain(" + domain + ")";
}
else
@ -44,11 +44,11 @@ function receiveMessage(evt)
break;
case "?idn-nowhitelist":
message += idnTest("exämple.test");
message += idnTest("exple.test");
break;
case "?punycode-nowhitelist":
message += punycodeTest("xn--exmple-cua.test");
message += punycodeTest("xn--exaple-kqf.test");
break;
default:

View File

@ -38,6 +38,10 @@ that in the future this test tests what it was intended to test (and, until
bug 414090 is fixed, that it doesn't break when the Greek TLD is
un-whitelisted).
After bug 722299 the IDN whitelist is expected to go away (bug
843689), but bug 414090 still applies, mutatis mutandis. The test has
been changed to use exaмple.test instead (with a Cyrillic м), which
will fail the mixed-script tests and use punycode.
-->
<div>
@ -48,8 +52,8 @@ un-whitelisted).
<div>
<h2>Not whitelisted</h2>
<iframe name="idnKidNoWhitelist" src="http://sub1.exämple.test/tests/dom/tests/mochitest/dom-level0/idn_child.html?idn-nowhitelist"></iframe>
<iframe name="punycodeKidNoWhitelist" src="http://sub1.exämple.test/tests/dom/tests/mochitest/dom-level0/idn_child.html?punycode-nowhitelist"></iframe>
<iframe name="idnKidNoWhitelist" src="http://sub1.exple.test/tests/dom/tests/mochitest/dom-level0/idn_child.html?idn-nowhitelist"></iframe>
<iframe name="punycodeKidNoWhitelist" src="http://sub1.exple.test/tests/dom/tests/mochitest/dom-level0/idn_child.html?punycode-nowhitelist"></iframe>
</div>
<pre id="test">
@ -67,7 +71,7 @@ var whitelistRegex =
"mochitest/dom-level0/idn_child\\.html\\?(.+)$");
var noWhitelistRegex =
new RegExp("^http://sub1\\.exämple\\.test/tests/dom/tests/" +
new RegExp("^http://sub1\\.exple\\.test/tests/dom/tests/" +
"mochitest/dom-level0/idn_child\\.html\\?(.+)$");
var state = 0;
@ -97,8 +101,8 @@ function receiveMessage(evt)
//
// These two tests should illustrate what currently happens and what should
// happen once bug 414090 is fixed.
todo_is(evt.origin, "http://sub1.exämple.test", "wrong sender");
todo_isnot(evt.origin, "http://sub1.xn--exmple-cua.test", "wrong sender");
todo_is(evt.origin, "http://sub1.exple.test", "wrong sender");
todo_isnot(evt.origin, "http://sub1.xn--exaple-kqf.test", "wrong sender");
}
else
{
@ -169,7 +173,7 @@ function run()
ok(gotPunycodeWhitelist, "punycode whitelist message not received");
var target = window.frames.idnKidNoWhitelist;
target.postMessage("idn-nowhitelist", "http://sub1.exämple.test");
target.postMessage("idn-nowhitelist", "http://sub1.exple.test");
setTimeout(function()
{
@ -179,7 +183,7 @@ function run()
var target = window.frames.punycodeKidNoWhitelist;
target.postMessage("punycode-nowhitelist",
"http://sub1.exämple.test");
"http://sub1.exple.test");
setTimeout(function()
{

View File

@ -26,7 +26,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=417075
<iframe src="http://sub1.παράδειγμα.δοκιμή/tests/dom/tests/mochitest/whatwg/postMessage_origin_helper.xhtml"
id="idnKidWhitelist"></iframe>
<iframe src="http://sub1.exämple.test/tests/dom/tests/mochitest/whatwg/postMessage_origin_helper.xhtml"
<iframe src="http://sub1.exple.test/tests/dom/tests/mochitest/whatwg/postMessage_origin_helper.xhtml"
id="idnKidNoWhitelist"></iframe>
@ -313,73 +313,73 @@ var tests =
},
// 45
{
args: ["PASS", "http://sub1.exämple.test"],
args: ["PASS", "http://sub1.exple.test"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.exämple.test:80"],
args: ["PASS", "http://sub1.exple.test:80"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.exämple.test:80/"],
args: ["PASS", "http://sub1.exple.test:80/"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.exämple.test/"],
args: ["PASS", "http://sub1.exple.test/"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.exämple.test/foobar"],
args: ["PASS", "http://sub1.exple.test/foobar"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
// 50
{
args: ["PASS", "http://sub1.xn--exmple-cua.test"],
args: ["PASS", "http://sub1.xn--exaple-kqf.test"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.xn--exmple-cua.test:80"],
args: ["PASS", "http://sub1.xn--exaple-kqf.test:80"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.xn--exmple-cua.test:80/"],
args: ["PASS", "http://sub1.xn--exaple-kqf.test:80/"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.xn--exmple-cua.test/"],
args: ["PASS", "http://sub1.xn--exaple-kqf.test/"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},
{
args: ["PASS", "http://sub1.xn--exmple-cua.test/foobar"],
args: ["PASS", "http://sub1.xn--exaple-kqf.test/foobar"],
source: "idnKidNoWhitelist",
returnOrigin: "http://sub1.exämple.test",
returnOrigin: "http://sub1.exple.test",
hasWrongReturnOriginBug: true
},

View File

@ -28,6 +28,11 @@ function run_test() {
.getService(Components.interfaces.nsIPrefBranch);
pbi.setBoolPref("network.IDN.whitelist.es", true);
// After bug 722299, set network.IDN.restriction_profile to "ASCII" in
// order not to change the behaviour of non-whitelisted TLDs
var oldProfile = pbi.getCharPref("network.IDN.restriction_profile", "moderate");
pbi.setCharPref("network.IDN.restriction_profile", "ASCII");
// check convertToDisplayIDN against the whitelist
var isASCII = {};
do_check_eq(idnService.convertToDisplayIDN("b\u00FCcher.es", isASCII), "b\u00FCcher.es");
@ -45,4 +50,7 @@ function run_test() {
do_check_eq(isASCII.value, false);
do_check_eq(idnService.convertToDisplayIDN("test.xn--k-dha", isASCII), "test.\u00FCk");
do_check_eq(isASCII.value, false);
// reset pref to default
pbi.setCharPref("network.IDN.restriction_profile", oldProfile);
}