dom: implement document.importNode

This commit is contained in:
Pierre Tachoire
2023-12-07 17:26:08 +01:00
parent 9b9d927f38
commit 3ec5cee98c
2 changed files with 18 additions and 0 deletions

View File

@@ -145,6 +145,10 @@ pub const Document = struct {
return try parser.documentCreateProcessingInstruction(self, target, data);
}
pub fn _importNode(self: *parser.Document, node: *parser.Node, deep: ?bool) !*parser.Node {
return try parser.documentImportNode(self, node, deep orelse false);
}
pub fn deinit(_: *parser.Document, _: std.mem.Allocator) void {}
};
@@ -263,6 +267,12 @@ pub fn testExecFn(
};
try checkCases(js_env, &createProcessingInstruction);
var importNode = [_]Case{
.{ .src = "let nimp = document.getElementById('content')", .ex = "undefined" },
.{ .src = "document.importNode(nimp)", .ex = "[object Node]" },
};
try checkCases(js_env, &importNode);
const tags = comptime parser.Tag.all();
comptime var createElements: [(tags.len) * 2]Case = undefined;
inline for (tags, 0..) |tag, i| {