Fixes #4529 - Order out of order ordered list ordering order

This commit is contained in:
Stefan Ceriu
2025-09-22 09:27:14 +03:00
committed by Stefan Ceriu
parent 2deb746382
commit 3d5901f90d
2 changed files with 19 additions and 0 deletions
@@ -206,6 +206,10 @@ struct AttributedStringBuilderV2: AttributedStringBuilderProtocol {
case "ul", "ol":
var listIndex = 1
if let startAttribute = try? childElement.attr("start"), let startIndex = Int(startAttribute) {
listIndex = startIndex
}
content = attributedString(element: childElement, documentBody: documentBody, preserveFormatting: preserveFormatting, listTag: tag, listIndex: &listIndex, indentLevel: indentLevel + 1)
case "li":
@@ -753,6 +753,21 @@ class AttributedStringBuilderV1Tests: XCTestCase {
}
}
func testOutOfOrderListNubmering() {
let htmlString = "<ol start=\"2\">\n<li>this is a two</li>\n</ol>"
guard let attributedString = attributedStringBuilder.fromHTML(htmlString) else {
XCTFail("Could not build the attributed string")
return
}
if AttributedStringBuilder.useNextGenHTMLParser {
XCTAssertEqual(String(attributedString.characters), " 2. this is a two")
} else {
XCTAssertEqual(String(attributedString.characters), "\t2.\tthis is a two")
}
}
// MARK: - Phishing prevention
func testPhishingLink() {