[Libreoffice-commits] core.git: test/source

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Thu Apr 26 15:43:15 UTC 2018


 test/source/diff/diff.cxx |   32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

New commits:
commit 8ecf34e8237c3cdcb0cd3f56cfba9b3e6579a98f
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Mon Apr 23 21:50:52 2018 +0900

    xml diff - report what attribute values actually differ
    
    Change-Id: I16bc122e3f2cce94a5eb8454b528bf484210a4ae
    Reviewed-on: https://gerrit.libreoffice.org/53369
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/test/source/diff/diff.cxx b/test/source/diff/diff.cxx
index 7d80016b56e4..d94f5e7a1f7f 100644
--- a/test/source/diff/diff.cxx
+++ b/test/source/diff/diff.cxx
@@ -357,8 +357,36 @@ bool XMLDiff::compareAttributes(xmlNodePtr node1, xmlNodePtr node2)
 
     // unequal number of attributes
 #ifdef CPPUNIT_ASSERT
-    CPPUNIT_ASSERT(!attr1);
-    CPPUNIT_ASSERT(!attr2);
+    std::stringstream failStream("Unequal number of attributes ");
+
+    bool bAttr1 = attr1;
+    if (bAttr1)
+    {
+        failStream << "Attr1: ";
+        while (attr1 != nullptr)
+        {
+            xmlChar* val1 = xmlGetProp(node1, attr1->name);
+            failStream << BAD_CAST(attr1->name) << "=" << BAD_CAST(val1) << ", ";
+            xmlFree(val1);
+            attr1 = attr1->next;
+        }
+    }
+    CPPUNIT_ASSERT_MESSAGE(failStream.str(), !bAttr1);
+
+    bool bAttr2 = attr2;
+    if (bAttr2)
+    {
+        failStream << "Attr2: ";
+
+        while (attr2 != nullptr)
+        {
+            xmlChar* val2 = xmlGetProp(node2, attr2->name);
+            failStream << BAD_CAST(attr2->name) << "=" << BAD_CAST(val2) << ", ";
+            xmlFree(val2);
+            attr2 = attr2->next;
+        }
+    }
+    CPPUNIT_ASSERT_MESSAGE(failStream.str(), !bAttr2);
 #else
     if (attr1 || attr2)
         return false;


More information about the Libreoffice-commits mailing list