mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 15:13:28 +00:00
node: add insertBefore method
Signed-off-by: Francis Bouvier <francis.bouvier@gmail.com>
This commit is contained in:
@@ -154,6 +154,10 @@ pub const Node = struct {
|
|||||||
pub fn _hasChildNodes(self: *parser.Node) bool {
|
pub fn _hasChildNodes(self: *parser.Node) bool {
|
||||||
return parser.nodeHasChildNodes(self);
|
return parser.nodeHasChildNodes(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 const Types = generate.Tuple(.{
|
pub const Types = generate.Tuple(.{
|
||||||
@@ -300,4 +304,11 @@ pub fn testExecFn(
|
|||||||
.{ .src = "text.hasChildNodes()", .ex = "false" },
|
.{ .src = "text.hasChildNodes()", .ex = "false" },
|
||||||
};
|
};
|
||||||
try checkCases(js_env, &node_has_child_nodes);
|
try checkCases(js_env, &node_has_child_nodes);
|
||||||
|
|
||||||
|
var node_insert_before = [_]Case{
|
||||||
|
.{ .src = "let insertBefore = document.createElement('a')", .ex = "undefined" },
|
||||||
|
.{ .src = "link.insertBefore(insertBefore, text) !== undefined", .ex = "true" },
|
||||||
|
.{ .src = "link.firstChild.localName === 'a'", .ex = "true" },
|
||||||
|
};
|
||||||
|
try checkCases(js_env, &node_insert_before);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -358,6 +358,12 @@ pub fn nodeHasChildNodes(node: *Node) bool {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn nodeInsertBefore(node: *Node, new_node: *Node, ref_node: *Node) *Node {
|
||||||
|
var res: ?*Node = undefined;
|
||||||
|
_ = nodeVtable(node).dom_node_insert_before.?(node, new_node, ref_node, &res);
|
||||||
|
return res.?;
|
||||||
|
}
|
||||||
|
|
||||||
// CharacterData
|
// CharacterData
|
||||||
pub const CharacterData = c.dom_characterdata;
|
pub const CharacterData = c.dom_characterdata;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user