Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test that the import button in the UI works.
// http rather than chrome to improve coverage
const TESTCASE_URI = TEST_BASE_HTTP + "simple.html";
const FILENAME = "styleeditor-import-test.css";
const SOURCE = "body{background:red;}";
add_task(async function () {
const { panel, ui } = await openStyleEditorForURL(TESTCASE_URI);
const added = ui.once("test:editor-updated");
importSheet(ui, panel.panelWindow);
info("Waiting for editor to be added for the imported sheet.");
const editor = await added;
is(
editor.savedFile.leafName,
FILENAME,
"imported stylesheet will be saved directly into the same file"
);
is(
editor.friendlyName,
FILENAME,
"imported stylesheet has the same name as the filename"
);
});
function importSheet(ui, panelWindow) {
// create file to import first
const file = new FileUtils.File(
PathUtils.join(PathUtils.profileDir, FILENAME)
);
const ostream = FileUtils.openSafeFileOutputStream(file);
const istream = getInputStream(SOURCE);
NetUtil.asyncCopy(istream, ostream, function () {
FileUtils.closeSafeFileOutputStream(ostream);
// click the import button now that the file to import is ready
ui._mockImportFile = file;
waitForFocus(function () {
const document = panelWindow.document;
const importButton = document.querySelector(".style-editor-importButton");
ok(importButton, "import button exists");
EventUtils.synthesizeMouseAtCenter(importButton, {}, panelWindow);
}, panelWindow);
});
}