summaryrefslogtreecommitdiffstats
path: root/toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js
blob: a7e1caa04a808c1d0687e5d0741594c7427e587d (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
32
33
34
35
36
37
38
39
40
41
42
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

const URL = "http://mochi.test:8888/browser/toolkit/components/thumbnails/" +
            "test/background_red.html?" + Date.now();

// Test PageThumbs API function getThumbnailPath
function* runTests() {

  let path = PageThumbs.getThumbnailPath(URL);
  yield testIfExists(path, false, "Thumbnail file does not exist");

  yield addVisitsAndRepopulateNewTabLinks(URL, next);
  yield createThumbnail(URL);

  path = PageThumbs.getThumbnailPath(URL);
  let expectedPath = PageThumbsStorage.getFilePathForURL(URL);
  is(path, expectedPath, "Thumbnail file has correct path");

  yield testIfExists(path, true, "Thumbnail file exists");

}

function createThumbnail(aURL) {
  addTab(aURL, function () {
    whenFileExists(aURL, function () {
      gBrowser.removeTab(gBrowser.selectedTab);
      next();
    });
  });
}

function testIfExists(aPath, aExpected, aMessage) {
  return OS.File.exists(aPath).then(
    function onSuccess(exists) {
      is(exists, aExpected, aMessage);
    },
    function onFailure(error) {
      ok(false, "OS.File.exists() failed " + error);
    }
  );
}