diff options
| author | Edwin Török <[email protected]> | 2023-12-18 21:28:36 +0000 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2023-12-18 14:08:53 -0800 |
| commit | 2477fb50ffebbba5372ecdacda1da971572fef29 (patch) | |
| tree | d7153a423ac9021aaaba3d72bbdebcf86f359382 | |
| parent | 806740805d4b21544ec0ad4a863a3e258997bdf0 (diff) | |
test(docx): also compare number of children
This detects if a tag gets added/removed, or moves within the hierarchy.
Signed-off-by: Edwin Török <[email protected]>
| -rw-r--r-- | test/Tests/Writers/OOXML.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/Tests/Writers/OOXML.hs b/test/Tests/Writers/OOXML.hs index 43543954c..af5c92a52 100644 --- a/test/Tests/Writers/OOXML.hs +++ b/test/Tests/Writers/OOXML.hs @@ -45,6 +45,11 @@ compareXML (Elem goodElem) (Elem myElem) = (Comparison { mine = sort (elAttribs myElem) , good = sort (elAttribs goodElem) }))) + <|> (if length (elContent myElem) == length (elContent goodElem) + then Nothing + else Just + (ElemChildrenDiffer + (Comparison { mine = elContent myElem, good = elContent goodElem}))) <|> asum (zipWith compareXML (elContent myElem) (elContent goodElem)) compareXML (Text goodCData) (Text myCData) = (if cdVerbatim myCData == cdVerbatim goodCData @@ -60,6 +65,7 @@ compareXML g m = Just (OtherContentsDiffer (Comparison {mine = m, good = g})) data XMLDifference = ElemNamesDiffer (Comparison QName) | ElemAttributesDiffer (Comparison [Attr]) + | ElemChildrenDiffer (Comparison [Content]) | CDatasDiffer (Comparison CData) | CRefsDiffer (Comparison String) | OtherContentsDiffer (Comparison Content) |
