diff --git a/src/lib.zig b/src/lib.zig index aade79e0c7ea381b8f257d713b3742debf2b7566..fcb7255a63faf760e3d555fd91d777e08691182d 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -392,6 +392,9 @@ fn nextCodepointSliceLossy(it: *std.unicode.Utf8Iterator) ?[]const u8 { fn isCodepointAnEntity(cp: u21) ?htmlentities.Entity { switch (cp) { + // '<', MUST NOT skip + // '<', MUST NOT skip + // '"', MUST NOT skip '\n', '.', ':', @@ -409,6 +412,19 @@ fn isCodepointAnEntity(cp: u21) ?htmlentities.Entity { '=', '-', ';', + '#', + '{', + '}', + ',', + '*', + '!', + '\'', + '&', + '[', + ']', + '|', + '?', + '`', => return null, else => {}, } diff --git a/test.zig b/test.zig index 72699518f038ff75cd75d579809110d4924ac2e7..1c9926d9dc7dc03ec52cc69ce68928db845b84fd 100644 --- a/test.zig +++ b/test.zig @@ -272,7 +272,7 @@ test { // string ); try expect(builder.items).toEqualString( \\ - \\

This will show up because bar is 'foo'.

+ \\

This will show up because bar is 'foo'.

\\ \\ ); @@ -299,7 +299,7 @@ test { // string false ); try expect(builder.items).toEqualString( \\ - \\

This will show up because bar is 'qux'.

+ \\

This will show up because bar is 'qux'.

\\ \\ ); @@ -436,7 +436,7 @@ test { // string ); try expect(builder.items).toEqualString( \\ - \\

This will show up because bar is 'qux'.

+ \\

This will show up because bar is 'qux'.

\\ \\ ); @@ -463,7 +463,7 @@ test { // string false ); try expect(builder.items).toEqualString( \\ - \\

This will show up because bar is 'foo'.

+ \\

This will show up because bar is 'foo'.

\\ \\ );