Bug 1457407 - Application panel: common api for tests to unregister all workers. r=jdescottes

MozReview-Commit-ID: 71D0Qqd4xW7

--HG--
extra : rebase_source : e3dcffbffd1d9265d71e417001ef3ab7b4e52c9b
This commit is contained in:
Belén Albeza 2018-05-04 11:56:00 +02:00
Родитель 1b306df3e6
Коммит 44f4694ad0
3 изменённых файлов: 15 добавлений и 29 удалений

Просмотреть файл

@ -44,24 +44,5 @@ add_task(async function() {
ok(scopeEl.textContent.startsWith("test1.example.com"),
"Second service worker registration is displayed for the correct domain");
let unregisterWorkers = async function() {
while (getWorkerContainers(doc).length > 0) {
let count = getWorkerContainers(doc).length;
await waitUntil(() => getWorkerContainers(doc)[0]
.querySelector(".unregister-button"));
info("Click on the unregister button for the first service worker");
getWorkerContainers(doc)[0]
.querySelector(".unregister-button")
.click();
info("Wait until the service worker is removed from the application panel");
await waitUntil(() => getWorkerContainers(doc).length == count - 1);
}
};
await unregisterWorkers();
await navigate(target, SIMPLE_URL);
await unregisterWorkers();
await unregisterAllWorkers(target.client);
});

Просмотреть файл

@ -36,13 +36,5 @@ add_task(async function() {
ok(true, "Second service worker registration is displayed");
info("Unregister all service workers");
while (getWorkerContainers(doc).length > 0) {
let count = getWorkerContainers(doc).length;
info("Click on the unregister button for the first service worker");
getWorkerContainers(doc)[0].querySelector(".unregister-button").click();
info("Wait until the service worker is removed from the application panel");
await waitUntil(() => getWorkerContainers(doc).length === count - 1);
}
await unregisterAllWorkers(target.client);
});

Просмотреть файл

@ -54,3 +54,16 @@ async function openNewTabAndApplicationPanel(url) {
let panel = toolbox.getCurrentPanel();
return { panel, tab, target, toolbox };
}
async function unregisterAllWorkers(client) {
info("Unregister all service workers");
let { service } = await client.mainRoot.listAllWorkers();
for (let worker of service) {
await client.request({
to: worker.registrationActor,
type: "unregister"
});
}
}