diff --git a/src/decode.spec.ts b/src/decode.spec.ts index e0eaa729..f4a16599 100644 --- a/src/decode.spec.ts +++ b/src/decode.spec.ts @@ -39,4 +39,7 @@ describe("Decode test", () => { it("should not parse numeric entities in strict mode", () => expect(entities.decodeHTMLStrict("7")).toBe("7")); + + it("should parse   followed by < (#852)", () => + expect(entities.decodeHTML(" <")).toBe("\u00a0<")); }); diff --git a/src/decode.ts b/src/decode.ts index 660e7899..fbf914fb 100644 --- a/src/decode.ts +++ b/src/decode.ts @@ -150,7 +150,7 @@ export function determineBranch( if (jumpOffset) { const value = char - jumpOffset; - return value < 0 || value > branchCount + return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1; }