Fix Advanced Search window
This commit is contained in:
parent
d826e6b0e8
commit
db33163a99
2 changed files with 45 additions and 4 deletions
|
@ -70,6 +70,7 @@ var ZoteroAdvancedSearch = new function() {
|
|||
isLibrary: function () { return false; },
|
||||
isCollection: function () { return false; },
|
||||
isSearch: function () { return true; },
|
||||
isFeed: () => false,
|
||||
isShare: function () { return false; },
|
||||
isTrash: function () { return false; }
|
||||
}
|
||||
|
@ -93,10 +94,8 @@ var ZoteroAdvancedSearch = new function() {
|
|||
// Don't clear the selected library
|
||||
s.libraryID = _searchBox.search.libraryID;
|
||||
s.addCondition('title', 'contains', '')
|
||||
.then(function () {
|
||||
_searchBox.search = s;
|
||||
_searchBox.active = false;
|
||||
});
|
||||
_searchBox.search = s;
|
||||
_searchBox.active = false;
|
||||
}
|
||||
|
||||
|
||||
|
|
42
test/tests/advancedSearchTest.js
Normal file
42
test/tests/advancedSearchTest.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
"use strict";
|
||||
|
||||
describe("Advanced Search", function () {
|
||||
var win, zp;
|
||||
|
||||
before(function* () {
|
||||
win = yield loadZoteroPane();
|
||||
zp = win.ZoteroPane;
|
||||
});
|
||||
|
||||
after(function () {
|
||||
win.close();
|
||||
});
|
||||
|
||||
it("should perform a search", function* () {
|
||||
var item = yield createDataObject('item', { setTitle: true });
|
||||
|
||||
var promise = waitForWindow('chrome://zotero/content/advancedSearch.xul');
|
||||
zp.openAdvancedSearchWindow();
|
||||
var searchWin = yield promise;
|
||||
|
||||
// Add condition
|
||||
var searchBox = searchWin.document.getElementById('zotero-search-box');
|
||||
|
||||
var s = new Zotero.Search();
|
||||
s.addCondition('title', 'is', item.getField('title'))
|
||||
searchBox.search = s;
|
||||
|
||||
// Run search and wait for results
|
||||
var o = searchWin.ZoteroAdvancedSearch;
|
||||
var deferred = Zotero.Promise.defer();
|
||||
o.search();
|
||||
var iv = o.itemsView;
|
||||
iv.addEventListener('load', () => deferred.resolve());
|
||||
yield deferred.promise;
|
||||
|
||||
// Check results
|
||||
assert.equal(iv.rowCount, 1);
|
||||
var index = iv.getRowIndexByID(item.id);
|
||||
assert.isNumber(index);
|
||||
});
|
||||
});
|
Loading…
Add table
Reference in a new issue