Test debug output logging again
Now that we run tests in Zotero with application menus.
This commit is contained in:
parent
087a9859b4
commit
794b27c1ad
2 changed files with 45 additions and 62 deletions
45
test/tests/debugTest.js
Normal file
45
test/tests/debugTest.js
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
describe("Debug Output Logging", function () {
|
||||||
|
var server;
|
||||||
|
var win;
|
||||||
|
var doc;
|
||||||
|
|
||||||
|
before(async function () {
|
||||||
|
server = sinon.fakeServer.create();
|
||||||
|
server.autoRespond = true;
|
||||||
|
Zotero.HTTP.mock = sinon.FakeXMLHttpRequest;
|
||||||
|
|
||||||
|
win = await loadZoteroPane();
|
||||||
|
doc = win.document;
|
||||||
|
});
|
||||||
|
|
||||||
|
after(function () {
|
||||||
|
Zotero.HTTP.mock = null;
|
||||||
|
win.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should log output and submit to server", async function () {
|
||||||
|
doc.getElementById('debug-output-enable-disable').doCommand();
|
||||||
|
await createDataObject('item');
|
||||||
|
doc.getElementById('debug-output-submit').doCommand();
|
||||||
|
|
||||||
|
server.respond(function (req) {
|
||||||
|
if (req.method == "POST") {
|
||||||
|
req.respond(
|
||||||
|
200,
|
||||||
|
{},
|
||||||
|
'<?xml version="1.0" encoding="UTF-8"?>\n'
|
||||||
|
+ '<xml><reported reportID="1234567890"/></xml>'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Make sure Debug ID is shown in dialog
|
||||||
|
var promise = waitForDialog(function (dialog) {
|
||||||
|
assert.match(dialog.document.documentElement.textContent, /D1234567890/);
|
||||||
|
});
|
||||||
|
doc.getElementById('debug-output-submit').click();
|
||||||
|
await promise;
|
||||||
|
|
||||||
|
win.close();
|
||||||
|
});
|
||||||
|
});
|
|
@ -1,66 +1,4 @@
|
||||||
describe("Advanced Preferences", function () {
|
describe("Advanced Preferences", function () {
|
||||||
// TODO: Debug output logging is now in the application menus, and we test in Firefox...
|
|
||||||
// Maybe add the debug output menu to Firefox for the purposes of testing?
|
|
||||||
describe.skip("General", function () {
|
|
||||||
var server;
|
|
||||||
|
|
||||||
before(function () {
|
|
||||||
server = sinon.fakeServer.create();
|
|
||||||
server.autoRespond = true;
|
|
||||||
Zotero.HTTP.mock = sinon.FakeXMLHttpRequest;
|
|
||||||
});
|
|
||||||
|
|
||||||
after(function () {
|
|
||||||
Zotero.HTTP.mock = null;
|
|
||||||
})
|
|
||||||
|
|
||||||
describe("Debug Output", function () {
|
|
||||||
it("should log output and submit to server", function* () {
|
|
||||||
var win = yield loadWindow("chrome://zotero/content/preferences/preferences.xhtml", {
|
|
||||||
pane: 'zotero-prefpane-advanced',
|
|
||||||
tabIndex: 0
|
|
||||||
});
|
|
||||||
|
|
||||||
// Wait for tab to load
|
|
||||||
var doc = win.document;
|
|
||||||
var prefwindow = doc.documentElement;
|
|
||||||
var defer = Zotero.Promise.defer();
|
|
||||||
var pane = doc.getElementById('zotero-prefpane-advanced');
|
|
||||||
if (!pane.loaded) {
|
|
||||||
pane.addEventListener('paneload', function () {
|
|
||||||
defer.resolve();
|
|
||||||
})
|
|
||||||
yield defer.promise;
|
|
||||||
}
|
|
||||||
|
|
||||||
var enableButton = doc.getElementById('debug-output-enable');
|
|
||||||
enableButton.click();
|
|
||||||
yield createDataObject('item');
|
|
||||||
enableButton.click();
|
|
||||||
|
|
||||||
server.respond(function (req) {
|
|
||||||
if (req.method == "POST") {
|
|
||||||
req.respond(
|
|
||||||
200,
|
|
||||||
{},
|
|
||||||
'<?xml version="1.0" encoding="UTF-8"?>\n'
|
|
||||||
+ '<xml><reported reportID="1234567890"/></xml>'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Make sure Debug ID is shown in dialog
|
|
||||||
var promise = waitForDialog(function (dialog) {
|
|
||||||
assert.match(dialog.document.documentElement.textContent, /D1234567890/);
|
|
||||||
});
|
|
||||||
doc.getElementById('debug-output-submit').click();
|
|
||||||
yield promise;
|
|
||||||
|
|
||||||
win.close();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("Files & Folders", function () {
|
describe("Files & Folders", function () {
|
||||||
describe("Linked Attachment Base Directory", function () {
|
describe("Linked Attachment Base Directory", function () {
|
||||||
var setBaseDirectory = Zotero.Promise.coroutine(function* (basePath) {
|
var setBaseDirectory = Zotero.Promise.coroutine(function* (basePath) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue