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; },
|
isLibrary: function () { return false; },
|
||||||
isCollection: function () { return false; },
|
isCollection: function () { return false; },
|
||||||
isSearch: function () { return true; },
|
isSearch: function () { return true; },
|
||||||
|
isFeed: () => false,
|
||||||
isShare: function () { return false; },
|
isShare: function () { return false; },
|
||||||
isTrash: function () { return false; }
|
isTrash: function () { return false; }
|
||||||
}
|
}
|
||||||
|
@ -93,10 +94,8 @@ var ZoteroAdvancedSearch = new function() {
|
||||||
// Don't clear the selected library
|
// Don't clear the selected library
|
||||||
s.libraryID = _searchBox.search.libraryID;
|
s.libraryID = _searchBox.search.libraryID;
|
||||||
s.addCondition('title', 'contains', '')
|
s.addCondition('title', 'contains', '')
|
||||||
.then(function () {
|
|
||||||
_searchBox.search = s;
|
_searchBox.search = s;
|
||||||
_searchBox.active = false;
|
_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