Opened 8 years ago
Last modified 4 years ago
#27906 closed Bug
assertContains('<a/><b/><c/>', '<a/><b/>', html=True) fails — at Initial Version
Reported by: | Michal Petrucha | Owned by: | Michal Petrucha |
---|---|---|---|
Component: | Testing framework | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
As the title indicates, assertContains
in HTML mode fails to find matches in the haystack if the needle consists of multiple sibling elements that do appear in the haystack with more siblings on the same level.
This is a follow-up to #24112, which fixed the simple case when the list of children of an element matches exactly the list of children of the needle.
A simple, but somewhat sub-optimal solution could be to use two nested loops to compare the children of self
with the children of the root element; an optimal, but much more complex solution would be to implement a variant of KMP on the children of self
.