mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 15:13:28 +00:00
characterdata: add replaceData method
Signed-off-by: Francis Bouvier <francis.bouvier@gmail.com>
This commit is contained in:
@@ -66,6 +66,10 @@ pub const CharacterData = struct {
|
||||
pub fn _insertData(self: *parser.CharacterData, offset: u32, data: []const u8) void {
|
||||
return parser.characterDataInsertData(self, offset, data);
|
||||
}
|
||||
|
||||
pub fn _replaceData(self: *parser.CharacterData, offset: u32, count: u32, data: []const u8) void {
|
||||
return parser.characterDataReplaceData(self, offset, count, data);
|
||||
}
|
||||
};
|
||||
|
||||
pub const Types = generate.Tuple(.{
|
||||
@@ -138,4 +142,10 @@ pub fn testExecFn(
|
||||
.{ .src = "cdata.data == 'OmodifiedK'", .ex = "true" },
|
||||
};
|
||||
try checkCases(js_env, &insert_data);
|
||||
|
||||
var replace_data = [_]Case{
|
||||
.{ .src = "cdata.replaceData('OK'.length-1, 'modified'.length, 'replaced')", .ex = "undefined" },
|
||||
.{ .src = "cdata.data == 'OreplacedK'", .ex = "true" },
|
||||
};
|
||||
try checkCases(js_env, &replace_data);
|
||||
}
|
||||
|
||||
@@ -489,6 +489,11 @@ pub fn characterDataInsertData(cdata: *CharacterData, offset: u32, data: []const
|
||||
_ = characterDataVtable(cdata).dom_characterdata_insert_data.?(cdata, offset, s);
|
||||
}
|
||||
|
||||
pub fn characterDataReplaceData(cdata: *CharacterData, offset: u32, count: u32, data: []const u8) void {
|
||||
const s = stringFromData(data);
|
||||
_ = characterDataVtable(cdata).dom_characterdata_replace_data.?(cdata, offset, count, s);
|
||||
}
|
||||
|
||||
// Text
|
||||
pub const Text = c.dom_text;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user