node: add isDefaultnamespace (TEST NOT WORKING)

Signed-off-by: Francis Bouvier <francis.bouvier@gmail.com>
This commit is contained in:
Francis Bouvier
2023-09-26 21:34:46 +02:00
parent f3a99af670
commit a07d9829de
2 changed files with 19 additions and 0 deletions

View File

@@ -158,6 +158,11 @@ pub const Node = struct {
pub fn _insertBefore(self: *parser.Node, new_node: *parser.Node, ref_node: *parser.Node) *parser.Node {
return parser.nodeInsertBefore(self, new_node, ref_node);
}
pub fn _isDefaultNamespace(self: *parser.Node, namespace: []const u8) bool {
// TODO: namespace is not an optional parameter, but can be null.
return parser.nodeIsDefaultNamespace(self, namespace);
}
};
pub const Types = generate.Tuple(.{
@@ -311,4 +316,11 @@ pub fn testExecFn(
.{ .src = "link.firstChild.localName === 'a'", .ex = "true" },
};
try checkCases(js_env, &node_insert_before);
var node_is_default_namespace = [_]Case{
// TODO: does not seems to work
// .{ .src = "link.isDefaultNamespace('')", .ex = "true" },
.{ .src = "link.isDefaultNamespace('false')", .ex = "false" },
};
try checkCases(js_env, &node_is_default_namespace);
}

View File

@@ -364,6 +364,13 @@ pub fn nodeInsertBefore(node: *Node, new_node: *Node, ref_node: *Node) *Node {
return res.?;
}
pub fn nodeIsDefaultNamespace(node: *Node, namespace: []const u8) bool {
const s = stringFromData(namespace);
var res: bool = undefined;
_ = nodeVtable(node).dom_node_is_default_namespace.?(node, s, &res);
return res;
}
// CharacterData
pub const CharacterData = c.dom_characterdata;