summaryrefslogtreecommitdiffstats
path: root/devtools/client/styleeditor/test/browser_styleeditor_import.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /devtools/client/styleeditor/test/browser_styleeditor_import.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/styleeditor/test/browser_styleeditor_import.js')
-rw-r--r--devtools/client/styleeditor/test/browser_styleeditor_import.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/devtools/client/styleeditor/test/browser_styleeditor_import.js b/devtools/client/styleeditor/test/browser_styleeditor_import.js
new file mode 100644
index 0000000000..c630dcd508
--- /dev/null
+++ b/devtools/client/styleeditor/test/browser_styleeditor_import.js
@@ -0,0 +1,56 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"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);
+ });
+}