diff -r 000000000000 -r 6474c204b198 toolkit/components/thumbnails/test/browser_thumbnails_bg_no_duplicates.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/thumbnails/test/browser_thumbnails_bg_no_duplicates.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,31 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +function runTests() { + let url = "http://example.com/1"; + ok(!thumbnailExists(url), "Thumbnail file should not already exist."); + let numCallbacks = 0; + let doneCallback = function(doneUrl) { + is(doneUrl, url, "called back with correct url"); + numCallbacks += 1; + // We will delete the file after the first callback, then check it + // still doesn't exist on the second callback, which should give us + // confidence that we didn't end up with 2 different captures happening + // for the same url... + if (numCallbacks == 1) { + ok(thumbnailExists(url), "Thumbnail file should now exist."); + removeThumbnail(url); + return; + } + if (numCallbacks == 2) { + ok(!thumbnailExists(url), "Thumbnail file should still be deleted."); + // and that's all we expect, so we are done... + next(); + return; + } + ok(false, "only expecting 2 callbacks"); + } + BackgroundPageThumbs.capture(url, {onDone: doneCallback}); + BackgroundPageThumbs.capture(url, {onDone: doneCallback}); + yield true; +}