summaryrefslogtreecommitdiffstats
path: root/toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js')
-rw-r--r--toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js b/toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js
new file mode 100644
index 0000000000..5f557c40a4
--- /dev/null
+++ b/toolkit/components/thumbnails/test/browser_thumbnails_bug818225.js
@@ -0,0 +1,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
+add_task(async function thumbnails_bg_bug818225() {
+ let path = PageThumbs.getThumbnailPath(URL);
+ await testIfExists(path, false, "Thumbnail file does not exist");
+ await promiseAddVisitsAndRepopulateNewTabLinks(URL);
+
+ await BrowserTestUtils.withNewTab(
+ {
+ gBrowser,
+ url: URL,
+ },
+ async browser => {
+ gBrowserThumbnails.clearTopSiteURLCache();
+ await whenFileExists(URL);
+ }
+ );
+
+ path = PageThumbs.getThumbnailPath(URL);
+ let expectedPath = PageThumbsStorageService.getFilePathForURL(URL);
+ is(path, expectedPath, "Thumbnail file has correct path");
+
+ await testIfExists(path, true, "Thumbnail file exists");
+});
+
+function testIfExists(aPath, aExpected, aMessage) {
+ return IOUtils.exists(aPath).then(
+ function onSuccess(exists) {
+ is(exists, aExpected, aMessage);
+ },
+ function onFailure(error) {
+ ok(false, `IOUtils.exists() failed ${error}`);
+ }
+ );
+}