Update recognizePDF tests

- Add test for recogning within a collection (follow-up from #1015)
- Update/remove some outdated code

These tests are still skipped by default, since we don't want to actually do
lookups on every test run.
This commit is contained in:
Dan Stillman 2016-05-27 01:30:03 -04:00
parent 3ef3d943b0
commit e573ad886f

View File

@ -1,42 +1,54 @@
describe.skip("PDF Recognition", function() {
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var win;
before(function() {
before(function* () {
this.timeout(60000);
// Load Zotero pane, install PDF tools, and load the
// translators
return Zotero.Promise.all([loadZoteroPane().then(function(w) {
win = w;
}), installPDFTools()]);
// Load Zotero pane and install PDF tools
yield Zotero.Promise.all([
loadZoteroPane().then(w => win = w),
installPDFTools(),
]);
});
beforeEach(function* () {
yield selectLibrary(win);
});
afterEach(function() {
for(let win of getWindows("chrome://zotero/content/pdfProgress.xul")) {
win.close();
}
});
after(function() {
win.close();
});
it("should recognize a PDF with a DOI", function* () {
it("should recognize a PDF with a DOI within a collection", function* () {
this.timeout(30000);
// Import the PDF
var testdir = getTestDataDirectory();
testdir.append("recognizePDF_test_DOI.pdf");
var item = yield Zotero.Attachments.importFromFile({
file: testdir
var col = yield createDataObject('collection');
yield waitForItemsLoad(win);
var attachment = yield Zotero.Attachments.importFromFile({
file: testdir,
collections: [col.id]
});
// Recognize the PDF
win.ZoteroPane.selectItem(item.id);
win.Zotero_RecognizePDF.recognizeSelected();
return waitForItemEvent("add").then(function(ids) {
var item = Zotero.Items.get(ids[0]);
assert.equal(item.getField("title"), "Shaping the Research Agenda");
assert.equal(item.getField("libraryCatalog"), "CrossRef");
});
var ids = yield waitForItemEvent("add");
yield waitForNotifierEvent('add', 'collection-item')
var item = Zotero.Items.get(ids[0]);
assert.equal(item.getField("title"), "Shaping the Research Agenda");
assert.equal(item.getField("libraryCatalog"), "CrossRef");
assert.equal(attachment.parentID, item.id);
assert.isTrue(col.hasItem(item.id));
});
it("should recognize a PDF without a DOI", function* () {
@ -49,15 +61,13 @@ describe.skip("PDF Recognition", function() {
var item = yield Zotero.Attachments.importFromFile({
file: testdir
});
// Recognize the PDF
win.ZoteroPane.selectItem(item.id);
win.Zotero_RecognizePDF.recognizeSelected();
return waitForItemEvent("add").then(function(ids) {
var item = Zotero.Items.get(ids[0]);
assert.equal(item.getField("title"), "Scaling study of an improved fermion action on quenched lattices");
assert.equal(item.getField("libraryCatalog"), "Google Scholar");
});
var ids = yield waitForItemEvent("add");
var item = Zotero.Items.get(ids[0]);
assert.equal(item.getField("title"), "Scaling study of an improved fermion action on quenched lattices");
assert.equal(item.getField("libraryCatalog"), "Google Scholar");
});
});