53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim: set ts=2 et sw=2 tw=80: */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Provides infrastructure for automated download components tests.
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
// Globals
|
|
|
|
ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
|
|
ChromeUtils.defineModuleGetter(this, "DownloadPaths",
|
|
"resource://gre/modules/DownloadPaths.jsm");
|
|
ChromeUtils.defineModuleGetter(this, "Downloads",
|
|
"resource://gre/modules/Downloads.jsm");
|
|
ChromeUtils.defineModuleGetter(this, "FileUtils",
|
|
"resource://gre/modules/FileUtils.jsm");
|
|
ChromeUtils.defineModuleGetter(this, "Services",
|
|
"resource://gre/modules/Services.jsm");
|
|
ChromeUtils.defineModuleGetter(this, "HttpServer",
|
|
"resource://testing-common/httpd.js");
|
|
ChromeUtils.defineModuleGetter(this, "OS",
|
|
"resource://gre/modules/osfile.jsm");
|
|
ChromeUtils.defineModuleGetter(this, "FileTestUtils",
|
|
"resource://testing-common/FileTestUtils.jsm");
|
|
|
|
const TEST_TARGET_FILE_NAME_PDF = "test-download.pdf";
|
|
|
|
// Support functions
|
|
|
|
/**
|
|
* Returns a reference to a temporary file that is guaranteed not to exist and
|
|
* is cleaned up later. See FileTestUtils.getTempFile for details.
|
|
*/
|
|
function getTempFile(leafName) {
|
|
return FileTestUtils.getTempFile(leafName);
|
|
}
|
|
|
|
function promiseBrowserLoaded(browser) {
|
|
return new Promise(resolve => {
|
|
browser.addEventListener("load", function onLoad(event) {
|
|
if (event.target == browser.contentDocument) {
|
|
browser.removeEventListener("load", onLoad, true);
|
|
resolve();
|
|
}
|
|
}, true);
|
|
});
|
|
}
|