1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:37:45 +00:00

LibWeb: Implement spec-compliant integer parsing

We have code inside LibWeb that uses the
`AK::StringUtils::convert_to_uint`and `AK::StringUtils::convert_to_int`
methods for parsing integers. This works well for the most part, but
according to the spec, trailing characters are allowed and should be
ignored, but this is not how the `StringUtil` methods are implemented.

This patch adds two new methods named `parse_integer` and
`parse_non_negative_integer` inside the `Web::HTML` namespace that uses
`StringUtils` under the hood but adds a bit more logic to make it spec
compliant.
This commit is contained in:
Jonatan Klemets 2023-07-23 19:38:04 +03:00 committed by Sam Atkins
parent ebc5b33b77
commit 9812031a02
5 changed files with 208 additions and 0 deletions

View file

@ -2,6 +2,7 @@ set(TEST_SOURCES
TestCSSIDSpeed.cpp
TestCSSPixels.cpp
TestHTMLTokenizer.cpp
TestNumbers.cpp
)
foreach(source IN LISTS TEST_SOURCES)