products/Sources/formale Sprachen/C/Firefox/dom/serviceworkers/test/test_escapedSlashes.html
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!
DOCTYPE HTML >
<
html >
<
head >
<
title >Test for escaped slashes in navigator.serviceWorker.register</
title >
<
script type=
"text/javascript" src=
"http://mochi.test:8888/tests/SimpleTest/SimpleTest.js " ></
script >
<
link rel=
"stylesheet" type=
"text/css" href=
"http://mochi.test:8888/tests/SimpleTest/test.css " />
<
base href=
"https://mozilla.org/ " >
</
head >
<
body >
<p id=
"display" ></p>
<
div id=
"content" style =
"display: none" >
</
div >
<
pre id=
"test" ></
pre >
<
script class=
"testbody" type=
"text/javascript" >
var tests = [
{ status: true,
scriptURL:
"a.js?foo%2fbar" ,
scopeURL: null },
{ status: false,
scriptURL:
"foo%2fbar" ,
scopeURL: null },
{ status: true,
scriptURL:
"a.js?foo%2Fbar" ,
scopeURL: null },
{ status: false,
scriptURL:
"foo%2Fbar" ,
scopeURL: null },
{ status: true,
scriptURL:
"a.js?foo%5cbar" ,
scopeURL: null },
{ status: false,
scriptURL:
"foo%5cbar" ,
scopeURL: null },
{ status: true,
scriptURL:
"a.js?foo%2Cbar" ,
scopeURL: null },
{ status: false,
scriptURL:
"foo%5Cbar" ,
scopeURL: null },
{ status: true,
scriptURL:
"ok.js" ,
scopeURL:
"/scope?foo%2fbar" },
{ status: false,
scriptURL:
"ok.js" ,
scopeURL:
"/foo%2fbar" },
{ status: true,
scriptURL:
"ok.js" ,
scopeURL:
"/scope?foo%2Fbar" },
{ status: false,
scriptURL:
"ok.js" ,
scopeURL:
"foo%2Fbar" },
{ status: true,
scriptURL:
"ok.js" ,
scopeURL:
"/scope?foo%5cbar" },
{ status: false,
scriptURL:
"ok.js" ,
scopeURL:
"foo%5cbar" },
{ status: true,
scriptURL:
"ok.js" ,
scopeURL:
"/scope?foo%5Cbar" },
{ status: false,
scriptURL:
"ok.js" ,
scopeURL:
"foo%5Cbar" },
];
function runTest() {
if (!tests.length) {
SimpleTest.finish();
return;
}
var test = tests.shift();
navigator.serviceWorker.register(test.scriptURL, test.scopeURL)
.then(reg => {
ok(false,
"Register should fail" );
}, err => {
if (!test.status) {
is(err.name,
"TypeError" ,
"Registration should fail with TypeError" );
} else {
ok(test.status,
"Register should fail" );
}
})
.then(runTest);
}
SimpleTest.waitForExplicitFinish();
onload = function() {
SpecialPowers.pushPrefEnv({
"set" : [
[
"dom.serviceWorkers.exemptFromPerDomainMax" , true],
[
"dom.serviceWorkers.testing.enabled" , true],
[
"dom.serviceWorkers.enabled" , true],
]}, runTest);
};
</
script >
</
body >
</
html >
Messung V0.5 C=93 H=74 G=83
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland