SAXXMLReader: Handle non-UTF-8 encodings (#3846)

This commit is contained in:
Abe Jellinek 2024-03-13 12:20:59 -04:00 committed by Dan Stillman
parent c9fc68658b
commit 8b13f717b4
3 changed files with 59 additions and 1 deletions

View file

@ -251,4 +251,39 @@ describe("Zotero.FeedReader", function () {
assert.equal(item.enclosedItems[0].url, "https://static01.nyt.com/images/2021/06/16/world/16biden-photos1/16biden-photos1-moth.jpg");
});
});
describe("Legacy text encodings", function () {
var httpd;
var port = 16213;
var baseURL = `http://127.0.0.1:${port}/`;
before(function () {
Cu.import("resource://zotero-unit/httpd.js");
httpd = new HttpServer();
httpd.start(port);
httpd._handler._mimeMappings.rss = "text/xml; charset=ISO-8859-1";
httpd.registerPathHandler("/feedWindows1252.rss", {
handle(request, response) {
response.setStatusLine(null, 200, 'OK');
let file = getTestDataDirectory();
file.append("feedWindows1252.rss");
httpd._handler._writeFileResponse(request, file, response, 0, file.fileSize);
}
});
});
after(async function () {
await new Promise(resolve => httpd.stop(resolve));
});
it("should handle an ISO-8859-1 (windows-1252) feed", async function () {
let fr = new Zotero.FeedReader(baseURL + "feedWindows1252.rss");
await fr.process();
let itemIterator = new fr.ItemIterator();
let item = await itemIterator.next().value;
assert.equal(item.title, "Skriftlig spørsmål fra Tage Pettersen (H) til helse- og omsorgsministeren. Til behandling");
});
});
})