Fix importing of files using relative paths
This commit is contained in:
parent
a33c53dcdb
commit
4d56191f0c
|
@ -57,7 +57,7 @@ Zotero.Translate.ItemSaver = function(options) {
|
||||||
this._proxy = options.proxy;
|
this._proxy = options.proxy;
|
||||||
|
|
||||||
// the URI to which other URIs are assumed to be relative
|
// the URI to which other URIs are assumed to be relative
|
||||||
if(typeof baseURI === "object" && baseURI instanceof Components.interfaces.nsIURI) {
|
if(typeof options.baseURI === "object" && options.baseURI instanceof Components.interfaces.nsIURI) {
|
||||||
this._baseURI = options.baseURI;
|
this._baseURI = options.baseURI;
|
||||||
} else {
|
} else {
|
||||||
// try to convert to a URI
|
// try to convert to a URI
|
||||||
|
|
|
@ -597,6 +597,45 @@ describe("Zotero.Translate", function() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
describe("Translators", function () {
|
||||||
|
it("should round-trip child attachment via BibTeX", function* () {
|
||||||
|
var item = yield createDataObject('item');
|
||||||
|
yield importFileAttachment('test.png', { parentItemID: item.id });
|
||||||
|
|
||||||
|
var translation = new Zotero.Translate.Export();
|
||||||
|
var tmpDir = yield getTempDirectory();
|
||||||
|
var exportDir = OS.Path.join(tmpDir, 'export');
|
||||||
|
translation.setLocation(Zotero.File.pathToFile(exportDir));
|
||||||
|
translation.setItems([item]);
|
||||||
|
translation.setTranslator("9cb70025-a888-4a29-a210-93ec52da40d4");
|
||||||
|
translation.setDisplayOptions({
|
||||||
|
exportFileData: true
|
||||||
|
});
|
||||||
|
yield translation.translate();
|
||||||
|
|
||||||
|
var exportFile = OS.Path.join(exportDir, 'export.bib');
|
||||||
|
assert.isTrue(yield OS.File.exists(exportFile));
|
||||||
|
|
||||||
|
var translation = new Zotero.Translate.Import();
|
||||||
|
translation.setLocation(Zotero.File.pathToFile(exportFile));
|
||||||
|
var translators = yield translation.getTranslators();
|
||||||
|
translation.setTranslator(translators[0]);
|
||||||
|
var importCollection = yield createDataObject('collection');
|
||||||
|
var items = yield translation.translate({
|
||||||
|
libraryID: Zotero.Libraries.userLibraryID,
|
||||||
|
collections: [importCollection.id]
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.lengthOf(items, 1);
|
||||||
|
var attachments = items[0].getAttachments();
|
||||||
|
assert.lengthOf(attachments, 1);
|
||||||
|
var attachment = Zotero.Items.get(attachments[0]);
|
||||||
|
assert.isTrue(yield attachment.fileExists());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
describe("ItemSaver", function () {
|
describe("ItemSaver", function () {
|
||||||
describe("#saveCollections()", function () {
|
describe("#saveCollections()", function () {
|
||||||
it("should add top-level collections to specified collection", function* () {
|
it("should add top-level collections to specified collection", function* () {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user