From 74391d59a5fe1a4ac84ee8a351ad83d36e538363 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Thu, 17 Apr 2025 21:41:28 +0800 Subject: [PATCH] Add Node.$NODE_TYPE class attributes --- src/browser/dom/node.zig | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/browser/dom/node.zig b/src/browser/dom/node.zig index a0771b16..86c98da8 100644 --- a/src/browser/dom/node.zig +++ b/src/browser/dom/node.zig @@ -79,6 +79,18 @@ pub const Node = struct { }; } + // class attributes + + pub const _ELEMENT_NODE = @intFromEnum(parser.NodeType.element); + pub const _ATTRIBUTE_NODE = @intFromEnum(parser.NodeType.attribute); + pub const _TEXT_NODE = @intFromEnum(parser.NodeType.text); + pub const _CDATA_SECTION_NODE = @intFromEnum(parser.NodeType.cdata_section); + pub const _PROCESSING_INSTRUCTION_NODE = @intFromEnum(parser.NodeType.processing_instruction); + pub const _COMMENT_NODE = @intFromEnum(parser.NodeType.comment); + pub const _DOCUMENT_NODE = @intFromEnum(parser.NodeType.document); + pub const _DOCUMENT_TYPE_NODE = @intFromEnum(parser.NodeType.document_type); + pub const _DOCUMENT_FRAGMENT_NODE = @intFromEnum(parser.NodeType.document_fragment); + // JS funcs // -------- @@ -589,4 +601,16 @@ test "Browser.DOM.node" { .{ "let replace = document.createElement('div')", "undefined" }, .{ "link.replaceChild(replace, insertBefore) !== undefined", "true" }, }, .{}); + + try runner.testCases(&.{ + .{ "Node.ELEMENT_NODE", "1" }, + .{ "Node.ATTRIBUTE_NODE", "2" }, + .{ "Node.TEXT_NODE", "3" }, + .{ "Node.CDATA_SECTION_NODE", "4" }, + .{ "Node.PROCESSING_INSTRUCTION_NODE", "7" }, + .{ "Node.COMMENT_NODE", "8" }, + .{ "Node.DOCUMENT_NODE", "9" }, + .{ "Node.DOCUMENT_TYPE_NODE", "10" }, + .{ "Node.DOCUMENT_FRAGMENT_NODE", "11" }, + }, .{}); }