Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aehlke committed Feb 28, 2025
1 parent 18ad8b8 commit cb3ebdc
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
7 changes: 4 additions & 3 deletions Sources/Node.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ open class Node: Equatable, Hashable {
weak var parentNode: Node? {
didSet {
guard oldValue !== parentNode, let element = self as? Element else { return }

oldValue?.updateQueryIndex(for: [element], adding: false)
parentNode?.updateQueryIndex(for: [element], adding: true)
let descendants = element.normalizedTagNameIndex.values.flatMap { $0.compactMap { $0.value } }
let forElements = [element] + descendants
oldValue?.updateQueryIndex(for: forElements, adding: false)
parentNode?.updateQueryIndex(for: forElements, adding: true)
}
}

Expand Down
15 changes: 15 additions & 0 deletions Tests/SwiftSoupTests/ElementTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -979,6 +979,20 @@ class ElementTest: XCTestCase {
let bodyEls: Elements = try! doc.body()!.getElementsByTag("ruby")
XCTAssertEqual(bodyEls.size(), els.size())
}

func testGetElementsByTagIndexRegression() throws {
let h = "<p><u>test</u></p>"
let doc: Document = try SwiftSoup.parseBodyFragment(h)
let pBodyEls: Elements = try! doc.body()!.getElementsByTag("p")
XCTAssertEqual(1, pBodyEls.size())
let pEls: Elements = try! doc.getElementsByTag("p")
XCTAssertEqual(1, pEls.size())
let bodyEls: Elements = try! doc.body()!.getElementsByTag("u")
XCTAssertEqual(1, bodyEls.size())
let els: Elements = try! doc.getElementsByTag("u")
XCTAssertEqual(1, els.size())
}


static var allTests = {
return [
Expand Down Expand Up @@ -1055,6 +1069,7 @@ class ElementTest: XCTestCase {
("testChainedRemoveAttributes", testChainedRemoveAttributes),
("testIs", testIs),
("testGetElementsByTagIndexDuplicatesRegression", testGetElementsByTagIndexDuplicatesRegression),
("testGetElementsByTagIndexRegression", testGetElementsByTagIndexRegression)
]
}()
}

0 comments on commit cb3ebdc

Please sign in to comment.