characterdata: add appendData method

Signed-off-by: Francis Bouvier <francis.bouvier@gmail.com>
This commit is contained in:
Francis Bouvier
2023-10-09 14:24:15 +02:00
parent 7406b6d06c
commit 7c1eca3b74
2 changed files with 18 additions and 0 deletions

View File

@@ -51,6 +51,13 @@ pub const CharacterData = struct {
pub fn set_data(self: *parser.CharacterData, data: []const u8) void { pub fn set_data(self: *parser.CharacterData, data: []const u8) void {
return parser.characterDataSetData(self, data); return parser.characterDataSetData(self, data);
} }
// JS methods
// ----------
pub fn _appendData(self: *parser.CharacterData, data: []const u8) void {
return parser.characterDataAppendData(self, data);
}
}; };
pub const Types = generate.Tuple(.{ pub const Types = generate.Tuple(.{
@@ -105,4 +112,10 @@ pub fn testExecFn(
.{ .src = "cdata.previousElementSibling.localName === 'div' ", .ex = "true" }, .{ .src = "cdata.previousElementSibling.localName === 'div' ", .ex = "true" },
}; };
try checkCases(js_env, &get_prev_elem_sibling); try checkCases(js_env, &get_prev_elem_sibling);
var append_data = [_]Case{
.{ .src = "cdata.appendData(' modified')", .ex = "undefined" },
.{ .src = "cdata.data === 'OK modified' ", .ex = "true" },
};
try checkCases(js_env, &append_data);
} }

View File

@@ -475,6 +475,11 @@ pub fn characterDataLength(cdata: *CharacterData) u32 {
return n; return n;
} }
pub fn characterDataAppendData(cdata: *CharacterData, data: []const u8) void {
const s = stringFromData(data);
_ = characterDataVtable(cdata).dom_characterdata_append_data.?(cdata, s);
}
// Text // Text
pub const Text = c.dom_text; pub const Text = c.dom_text;