mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 07:03:29 +00:00
characterdata: add substringData method
Signed-off-by: Francis Bouvier <francis.bouvier@gmail.com>
This commit is contained in:
@@ -70,6 +70,10 @@ pub const CharacterData = struct {
|
||||
pub fn _replaceData(self: *parser.CharacterData, offset: u32, count: u32, data: []const u8) void {
|
||||
return parser.characterDataReplaceData(self, offset, count, data);
|
||||
}
|
||||
|
||||
pub fn _substringData(self: *parser.CharacterData, offset: u32, count: u32) []const u8 {
|
||||
return parser.characterDataSubstringData(self, offset, count);
|
||||
}
|
||||
};
|
||||
|
||||
pub const Types = generate.Tuple(.{
|
||||
@@ -148,4 +152,10 @@ pub fn testExecFn(
|
||||
.{ .src = "cdata.data == 'OreplacedK'", .ex = "true" },
|
||||
};
|
||||
try checkCases(js_env, &replace_data);
|
||||
|
||||
var substring_data = [_]Case{
|
||||
.{ .src = "cdata.substringData('OK'.length-1, 'replaced'.length) == 'replaced'", .ex = "true" },
|
||||
.{ .src = "cdata.substringData('OK'.length-1, 0) == ''", .ex = "true" },
|
||||
};
|
||||
try checkCases(js_env, &substring_data);
|
||||
}
|
||||
|
||||
@@ -494,6 +494,12 @@ pub fn characterDataReplaceData(cdata: *CharacterData, offset: u32, count: u32,
|
||||
_ = characterDataVtable(cdata).dom_characterdata_replace_data.?(cdata, offset, count, s);
|
||||
}
|
||||
|
||||
pub fn characterDataSubstringData(cdata: *CharacterData, offset: u32, count: u32) []const u8 {
|
||||
var s: ?*String = undefined;
|
||||
_ = characterDataVtable(cdata).dom_characterdata_substring_data.?(cdata, offset, count, &s);
|
||||
return stringToData(s.?);
|
||||
}
|
||||
|
||||
// Text
|
||||
pub const Text = c.dom_text;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user