From 856d65a8e9d57d47a1d5bfe0e30eaa19203fa2c1 Mon Sep 17 00:00:00 2001 From: nikneym Date: Fri, 19 Sep 2025 10:48:37 +0300 Subject: [PATCH 1/4] add `element.dir` getter & setter --- src/browser/dom/element.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/browser/dom/element.zig b/src/browser/dom/element.zig index f45ba236..81237c3d 100644 --- a/src/browser/dom/element.zig +++ b/src/browser/dom/element.zig @@ -104,6 +104,14 @@ pub const Element = struct { return try parser.nodeName(parser.elementToNode(self)); } + pub fn get_dir(self: *parser.Element) ![]const u8 { + return try parser.elementGetAttribute(self, "dir") orelse ""; + } + + pub fn set_dir(self: *parser.Element, dir: []const u8) !void { + return parser.elementSetAttribute(self, "dir", dir); + } + pub fn get_id(self: *parser.Element) ![]const u8 { return try parser.elementGetAttribute(self, "id") orelse ""; } From ec6800500b541abf66d1042281d03480c5d2b7d8 Mon Sep 17 00:00:00 2001 From: nikneym Date: Fri, 19 Sep 2025 11:11:58 +0300 Subject: [PATCH 2/4] add a test for `element.dir` --- src/tests/dom/element.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/tests/dom/element.html b/src/tests/dom/element.html index e45271cb..33dec7fd 100644 --- a/src/tests/dom/element.html +++ b/src/tests/dom/element.html @@ -263,3 +263,18 @@ $('#to-remove').remove(); testing.expectEqual(null, $('#to-remove')); + + From 4f041e48a3a1d77c63e94f5463a24fb33ee9fda9 Mon Sep 17 00:00:00 2001 From: nikneym Date: Fri, 19 Sep 2025 11:26:53 +0300 Subject: [PATCH 3/4] make sure `dir` attribute is parsed if provided --- src/tests/dom/element.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tests/dom/element.html b/src/tests/dom/element.html index 33dec7fd..140f99a8 100644 --- a/src/tests/dom/element.html +++ b/src/tests/dom/element.html @@ -1,7 +1,7 @@ -
+
OK

@@ -52,16 +52,16 @@