From c008d747534f4c8aa59b045efbca754618e14b41 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sat, 25 Apr 2026 17:18:00 +0200 Subject: style(eval): move in its own package --- src/dom/html.zig | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/dom/html.zig (limited to 'src/dom/html.zig') diff --git a/src/dom/html.zig b/src/dom/html.zig deleted file mode 100644 index 064ebb1..0000000 --- a/src/dom/html.zig +++ /dev/null @@ -1,47 +0,0 @@ -const std = @import("std"); -const eql = std.mem.eql; - -pub const Error = error{InvalidUtf8} || std.mem.Allocator.Error; - -pub fn escape(alloc: std.mem.Allocator, v: []const u8) Error![]const u8 { - var acc = try std.ArrayList(u8).initCapacity(alloc, v.len); - errdefer acc.deinit(alloc); - const view = try std.unicode.Utf8View.init(v); - var iter = view.iterator(); - while (iter.nextCodepointSlice()) |rune| { - if (eql(u8, rune, "&")) { - try acc.appendSlice(alloc, "&"); - } else if (eql(u8, rune, "'")) { - try acc.appendSlice(alloc, "'"); - } else if (eql(u8, rune, "<")) { - try acc.appendSlice(alloc, "<"); - } else if (eql(u8, rune, ">")) { - try acc.appendSlice(alloc, ">"); - } else if (eql(u8, rune, "\"")) { - try acc.appendSlice(alloc, """); - } else { - try acc.appendSlice(alloc, rune); - } - } - return acc.toOwnedSlice(alloc); -} - -fn doTest(alloc: std.mem.Allocator, el: []const u8, exp: []const u8) !void { - const got = try escape(alloc, el); - defer alloc.free(got); - std.testing.expect(eql(u8, got, exp)) catch |err| { - std.debug.print("{s}\n", .{got}); - return err; - }; -} - -test "escaping html" { - const alloc = std.testing.allocator; - - try doTest(alloc, "hello world", "hello world"); - try doTest(alloc, "hello&world", "hello&world"); - try doTest(alloc, "hello'world", "hello'world"); - try doTest(alloc, "helloworld", "hello>world"); - try doTest(alloc, "hello\"world", "hello"world"); -} -- cgit v1.2.3