mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23: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 {
|
pub fn _insertData(self: *parser.CharacterData, offset: u32, data: []const u8) void {
|
||||||
return parser.characterDataInsertData(self, offset, data);
|
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(.{
|
pub const Types = generate.Tuple(.{
|
||||||
@@ -138,4 +142,10 @@ pub fn testExecFn(
|
|||||||
.{ .src = "cdata.data == 'OmodifiedK'", .ex = "true" },
|
.{ .src = "cdata.data == 'OmodifiedK'", .ex = "true" },
|
||||||
};
|
};
|
||||||
try checkCases(js_env, &insert_data);
|
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);
|
_ = 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
|
// Text
|
||||||
pub const Text = c.dom_text;
|
pub const Text = c.dom_text;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user