summaryrefslogtreecommitdiffstats
path: root/toolkit/components/thumbnails/test/browser_thumbnails_bg_no_duplicates.js
blob: 31b50433561236170ecda7ce9a8a8189f7ccb4bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;
}