nook: decode hex apostrophe entities in release notes
Settings > Changelog and /changelog showed literal ' wherever a bullet had an apostrophe: embed_release_notes.py escapes appcast descriptions with Python's html.escape, which prefers the hex form for apostrophes, and decodeEntities only knew the decimal ' — so the entity survived into releases.json and was rendered as-is. Add ' (and ') to the replacement table. Tests: new sectionsFromHtml case pinning html.escape-style output; fails without the fix, full suite otherwise matches master. Co-Authored-By: glm-5.3-flash <noreply@z.ai> NOOK-565
This commit is contained in:
@@ -256,6 +256,21 @@ describe("sectionsFromHtml", () => {
|
||||
expect(sectionsFromHtml("")).toEqual([]);
|
||||
expect(sectionsFromHtml("<p><b>Added</b></p>")).toEqual([]);
|
||||
});
|
||||
|
||||
it("decodes the entities embed_release_notes.py's html.escape writes", () => {
|
||||
// Python's html.escape prefers the hex form for apostrophes; this is what
|
||||
// the live appcast actually carries (NOOK-565).
|
||||
expect(
|
||||
sectionsFromHtml(
|
||||
"<p><b>Added</b></p><ul><li>Each app's meter & the icon</li><li>don't expand</li></ul>"
|
||||
)
|
||||
).toEqual([
|
||||
{
|
||||
title: "Added",
|
||||
bullets: ["Each app's meter & the icon", "don't expand"]
|
||||
}
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("isoDateOrNull", () => {
|
||||
|
||||
Reference in New Issue
Block a user