mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
dom: implement element.id
This commit is contained in:
@@ -41,6 +41,14 @@ pub const Element = struct {
|
||||
return try parser.nodeName(parser.elementToNode(self));
|
||||
}
|
||||
|
||||
pub fn get_id(self: *parser.Element) ![]const u8 {
|
||||
return try parser.elementGetAttribute(self, "id") orelse "";
|
||||
}
|
||||
|
||||
pub fn set_id(self: *parser.Element, id: []const u8) !void {
|
||||
return try parser.elementSetAttribute(self, "id", id);
|
||||
}
|
||||
|
||||
pub fn get_attributes(self: *parser.Element) !*parser.NamedNodeMap {
|
||||
return try parser.nodeGetAttributes(parser.elementToNode(self));
|
||||
}
|
||||
@@ -113,6 +121,15 @@ pub fn testExecFn(
|
||||
};
|
||||
try checkCases(js_env, &getters);
|
||||
|
||||
var gettersetters = [_]Case{
|
||||
.{ .src = "let gs = document.getElementById('content')", .ex = "undefined" },
|
||||
.{ .src = "gs.id", .ex = "content" },
|
||||
.{ .src = "gs.id = 'foo'", .ex = "foo" },
|
||||
.{ .src = "gs.id", .ex = "foo" },
|
||||
.{ .src = "gs.id = 'content'", .ex = "content" },
|
||||
};
|
||||
try checkCases(js_env, &gettersetters);
|
||||
|
||||
var attribute = [_]Case{
|
||||
.{ .src = "let a = document.getElementById('content')", .ex = "undefined" },
|
||||
.{ .src = "a.hasAttributes()", .ex = "true" },
|
||||
|
||||
Reference in New Issue
Block a user