From 2477fb50ffebbba5372ecdacda1da971572fef29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= Date: Mon, 18 Dec 2023 21:28:36 +0000 Subject: test(docx): also compare number of children MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This detects if a tag gets added/removed, or moves within the hierarchy. Signed-off-by: Edwin Török --- test/Tests/Writers/OOXML.hs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/Tests') 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) -- cgit v1.2.3