gecko-dev/toolkit/components/thumbnails/test/browser_thumbnails_bg_destr...

40 строки
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
function* runTests() {
yield SpecialPowers.pushPrefEnv({
set: [["dom.ipc.processCount", 1]]
});
let url1 = "http://example.com/1";
ok(!thumbnailExists(url1), "First file should not exist yet.");
let url2 = "http://example.com/2";
ok(!thumbnailExists(url2), "Second file should not exist yet.");
let defaultTimeout = BackgroundPageThumbs._destroyBrowserTimeout;
BackgroundPageThumbs._destroyBrowserTimeout = 1000;
yield bgCapture(url1);
ok(thumbnailExists(url1), "First file should exist after capture.");
removeThumbnail(url1);
// arbitrary wait - intermittent failures noted after 2 seconds
for (let i = 0; i < 5; i++) {
yield wait(1000);
if (BackgroundPageThumbs._thumbBrowser === undefined) {
break;
}
}
is(BackgroundPageThumbs._thumbBrowser, undefined,
"Thumb browser should be destroyed after timeout.");
BackgroundPageThumbs._destroyBrowserTimeout = defaultTimeout;
yield bgCapture(url2);
ok(thumbnailExists(url2), "Second file should exist after capture.");
removeThumbnail(url2);
isnot(BackgroundPageThumbs._thumbBrowser, undefined,
"Thumb browser should exist immediately after capture.");
}