From 0dd088e98ddaac129adcb33117dd46594e052908 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 9 Jun 2022 03:10:25 -0400 Subject: [PATCH] Add `loadZoteroWindow()` support function for tests `loadBrowserWindow()` will need to be updated for loading remote URLs, but anything needing a Zotero window (including `loadZoteroPane()`) can use this. --- test/content/support.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/test/content/support.js b/test/content/support.js index 6fa3e9b8ca..68369513b3 100644 --- a/test/content/support.js +++ b/test/content/support.js @@ -48,7 +48,28 @@ function loadWindow(winurl, argument) { * @return {Promise} */ function loadBrowserWindow() { - var win = window.openDialog("chrome://browser/content/browser.xul", "", "all,height=700,width=1000"); + var win = window.openDialog("chrome://browser/content/browser.xhtml", "", "all,height=700,width=1000"); + return waitForDOMEvent(win, "load").then(function() { + return new Zotero.Promise((resolve) => { + if (!browserWindowInitialized) { + setTimeout(function () { + browserWindowInitialized = true; + resolve(win); + }, 1000); + return; + } + resolve(win); + }); + }); +} + +/** + * Open a Zotero window and return a promise for the window + * + * @return {Promise} + */ +function loadZoteroWindow() { + var win = window.openDialog("chrome://zotero/content/zoteroPane.xhtml", "", "all,height=700,width=1000"); return waitForDOMEvent(win, "load").then(function() { return new Zotero.Promise((resolve) => { if (!browserWindowInitialized) { @@ -70,7 +91,7 @@ function loadBrowserWindow() { */ var loadZoteroPane = async function (win) { if (!win) { - var win = await loadBrowserWindow(); + var win = await loadZoteroWindow(); } Zotero.Prefs.clear('lastViewedFolder');