fx-compat: Fix XMLSerializer calls
https://forums.zotero.org/discussion/105118/zotero-7-error-upon-exporting-in-mods-format
This commit is contained in:
parent
9622fcccdb
commit
55fe6f33f5
3 changed files with 38 additions and 4 deletions
|
@ -755,8 +755,7 @@ Zotero.Style.prototype.getCiteProc = function(locale, format, automaticJournalAb
|
|||
|
||||
// apply XSLT and serialize output
|
||||
let newDOMXML = Zotero.Styles.xsltProcessor.transformToDocument(styleDOMXML);
|
||||
var xml = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"]
|
||||
.createInstance(Components.interfaces.nsIDOMSerializer).serializeToString(newDOMXML);
|
||||
var xml = new XMLSerializer().serializeToString(newDOMXML);
|
||||
} else {
|
||||
var xml = this.getXML();
|
||||
}
|
||||
|
|
|
@ -387,8 +387,7 @@ Zotero.Translate.SandboxManager = function(sandboxLocation) {
|
|||
return new DOMParser();
|
||||
},
|
||||
XMLSerializer: function() {
|
||||
return Components.classes["@mozilla.org/xmlextras/xmlserializer;1"]
|
||||
.createInstance(Components.interfaces.nsIDOMSerializer);
|
||||
return new XMLSerializer();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -175,4 +175,40 @@ describe("Import/Export", function () {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("MODS", function () {
|
||||
var namespaces = {
|
||||
mods: 'http://www.loc.gov/mods/v3'
|
||||
};
|
||||
|
||||
it("should export item", async function () {
|
||||
var title = "Title";
|
||||
var item = new Zotero.Item('book');
|
||||
item.setField('title', title);
|
||||
item.setField('ISBN', 1421402831);
|
||||
await item.saveTx();
|
||||
|
||||
// Export
|
||||
var file = OS.Path.join(await getTempDirectory(), 'export.rdf');
|
||||
var translator = Zotero.Translators.get('0e2235e7-babf-413c-9acf-f27cce5f059c');
|
||||
var displayOptions = {
|
||||
exportNotes: true
|
||||
};
|
||||
var translation = new Zotero.Translate.Export();
|
||||
translation.setItems([item]);
|
||||
translation.setLocation(Zotero.File.pathToFile(file));
|
||||
translation.setTranslator(translator);
|
||||
translation.setDisplayOptions(displayOptions);
|
||||
await translation.translate();
|
||||
|
||||
// Parse exported file and look for title
|
||||
var dp = new DOMParser();
|
||||
var doc = dp.parseFromString(Zotero.File.getContents(file), 'text/xml');
|
||||
var modsNode = doc.querySelector('mods');
|
||||
assert.equal(
|
||||
Zotero.Utilities.xpath(modsNode, '//mods:title', namespaces)[0].textContent,
|
||||
title
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Reference in a new issue