[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kmymoney] kmymoney/mymoney: Preparing for Qt5.
From:       Cristian_OneČ› <onet.cristian () gmail ! com>
Date:       2014-06-30 19:56:43
Message-ID: E1X1hgx-00071R-BO () scm ! kde ! org
[Download RAW message or body]

Git commit 5d1e215a3c1bd031d57551efdcc0371758ad9865 by Cristian OneČ›.
Committed on 30/06/2014 at 19:52.
Pushed by conet into branch 'master'.

Preparing for Qt5.

Fix the tests that were failing on Qt5 because they were comparing
two XML fragments with different attribute orders. It seems that in
Qt5 attribute order is not stable anymore which is fine considering
the XML specifications but has the downside of messing up a possible
textual diff between two versions of the same kmy file.

M  +52   -24   kmymoney/mymoney/mymoneyaccounttest.cpp
M  +2    -2    kmymoney/mymoney/mymoneyfiletest.cpp
M  +52   -22   kmymoney/mymoney/mymoneyinstitutiontest.cpp
M  +23   -13   kmymoney/mymoney/mymoneykeyvaluecontainertest.cpp
M  +82   -29   kmymoney/mymoney/mymoneyscheduletest.cpp
M  +27   -8    kmymoney/mymoney/mymoneysplittest.cpp
M  +52   -24   kmymoney/mymoney/mymoneytransactiontest.cpp

http://commits.kde.org/kmymoney/5d1e215a3c1bd031d57551efdcc0371758ad9865

diff --git a/kmymoney/mymoney/mymoneyaccounttest.cpp \
b/kmymoney/mymoney/mymoneyaccounttest.cpp index 349831f..2506f8e 100644
--- a/kmymoney/mymoney/mymoneyaccounttest.cpp
+++ b/kmymoney/mymoney/mymoneyaccounttest.cpp
@@ -302,8 +302,9 @@ void MyMoneyAccountTest::testWriteXML()
   r.addReconciliation(QDate(2011, 1, 1), MyMoneyMoney(123, 100));
   r.addReconciliation(QDate(2011, 2, 1), MyMoneyMoney(456, 100));
 
-  // QVERIFY(r.m_kvp.count() == 1);
-  // QVERIFY(r.value("key") == "value");
+  QCOMPARE(r.m_kvp.count(), 2);
+  QCOMPARE(r.value("key"), QLatin1String("value"));
+  QCOMPARE(r.value("reconciliationHistory"), \
QLatin1String("2011-01-01:123/100;2011-02-01:114/25"));  
   MyMoneyAccount a(id, r);
 
@@ -312,28 +313,55 @@ void MyMoneyAccountTest::testWriteXML()
   doc.appendChild(el);
   a.writeXML(doc, el);
 
-  QString ref = QString(
-                  "<!DOCTYPE TEST>\n"
-                  "<ACCOUNT-CONTAINER>\n"
-                  " <ACCOUNT description=\"Desc\" parentaccount=\"Parent\" \
opened=\"%2\" number=\"465500\" lastmodified=\"%1\" type=\"9\" id=\"A000001\" \
                lastreconciled=\"\" institution=\"B000001\" name=\"AccountName\" >\n"
-                  "  <SUBACCOUNTS>\n"
-                  "   <SUBACCOUNT id=\"A000002\" />\n"
-                  "  </SUBACCOUNTS>\n"
-                  "  <KEYVALUEPAIRS>\n"
-                  "   <PAIR key=\"key\" value=\"value\" />\n"
-                  "   <PAIR key=\"reconciliationHistory\" \
                value=\"2011-01-01:123/100;2011-02-01:114/25\"/>\n"
-                  "  </KEYVALUEPAIRS>\n"
-                  " </ACCOUNT>\n"
-                  "</ACCOUNT-CONTAINER>\n").
-                arg(QDate::currentDate().toString(Qt::ISODate)).arg(QDate::currentDate().toString(Qt::ISODate));
                
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  // qDebug("ref = '%s'", qPrintable(ref));
-  // qDebug("doc = '%s'", qPrintable(doc.toString()));
-
-  QVERIFY(doc.toString() == ref);
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement accountContainer = doc.documentElement();
+  QVERIFY(accountContainer.isElement());
+  QCOMPARE(accountContainer.tagName(), QLatin1String("ACCOUNT-CONTAINER"));
+  QVERIFY(accountContainer.childNodes().size() == 1);
+  QVERIFY(accountContainer.childNodes().at(0).isElement());
+
+  QDomElement account = accountContainer.childNodes().at(0).toElement();
+  QCOMPARE(account.tagName(), QLatin1String("ACCOUNT"));
+  QCOMPARE(account.attribute("id"), QLatin1String("A000001"));
+  QCOMPARE(account.attribute("lastreconciled"), QString());
+  QCOMPARE(account.attribute("institution"), QLatin1String("B000001"));
+  QCOMPARE(account.attribute("name"), QLatin1String("AccountName"));
+  QCOMPARE(account.attribute("number"), QLatin1String("465500"));
+  QCOMPARE(account.attribute("description"), QLatin1String("Desc"));
+  QCOMPARE(account.attribute("parentaccount"), QLatin1String("Parent"));
+  QCOMPARE(account.attribute("opened"), QDate::currentDate().toString(Qt::ISODate));
+  QCOMPARE(account.attribute("type"), QLatin1String("9"));
+  QCOMPARE(account.attribute("lastmodified"), \
QDate::currentDate().toString(Qt::ISODate)); +  QCOMPARE(account.attribute("id"), \
QLatin1String("A000001")); +  QCOMPARE(account.childNodes().size(), 2);
+
+  QVERIFY(account.childNodes().at(0).isElement());
+  QDomElement subAccounts = account.childNodes().at(0).toElement();
+  QCOMPARE(subAccounts.tagName(), QLatin1String("SUBACCOUNTS"));
+  QCOMPARE(subAccounts.childNodes().size(), 1);
+  QVERIFY(subAccounts.childNodes().at(0).isElement());
+  QDomElement subAccount = subAccounts.childNodes().at(0).toElement();
+  QCOMPARE(subAccount.tagName(), QLatin1String("SUBACCOUNT"));
+  QCOMPARE(subAccount.attribute("id"), QLatin1String("A000002"));
+  QCOMPARE(subAccount.childNodes().size(), 0);
+
+  QDomElement keyValuePairs = account.childNodes().at(1).toElement();
+  QCOMPARE(keyValuePairs.tagName(), QLatin1String("KEYVALUEPAIRS"));
+  QCOMPARE(keyValuePairs.childNodes().size(), 2);
+
+  QVERIFY(keyValuePairs.childNodes().at(0).isElement());
+  QDomElement keyValuePair1 = keyValuePairs.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePair1.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair1.attribute("key"), QLatin1String("key"));
+  QCOMPARE(keyValuePair1.attribute("value"), QLatin1String("value"));
+  QCOMPARE(keyValuePair1.childNodes().size(), 0);
+
+  QVERIFY(keyValuePairs.childNodes().at(1).isElement());
+  QDomElement keyValuePair2 = keyValuePairs.childNodes().at(1).toElement();
+  QCOMPARE(keyValuePair2.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair2.attribute("key"), QLatin1String("reconciliationHistory"));
+  QCOMPARE(keyValuePair2.attribute("value"), \
QLatin1String("2011-01-01:123/100;2011-02-01:114/25")); +  \
QCOMPARE(keyValuePair2.childNodes().size(), 0);  }
 
 void MyMoneyAccountTest::testReadXML()
diff --git a/kmymoney/mymoney/mymoneyfiletest.cpp \
b/kmymoney/mymoney/mymoneyfiletest.cpp index 7cdfcd4..1e196ad 100644
--- a/kmymoney/mymoney/mymoneyfiletest.cpp
+++ b/kmymoney/mymoney/mymoneyfiletest.cpp
@@ -322,9 +322,9 @@ void MyMoneyFileTest::testInstitutionListRetrieval()
   QList<MyMoneyInstitution>::ConstIterator it;
   it = list.constBegin();
 
-  QVERIFY((*it).name() == "institution1");
+  QVERIFY((*it).name() == "institution1" || (*it).name() == "institution2");
   ++it;
-  QVERIFY((*it).name() == "institution2");
+  QVERIFY((*it).name() == "institution2"  || (*it).name() == "institution1");
   ++it;
   QVERIFY(it == list.constEnd());
 }
diff --git a/kmymoney/mymoney/mymoneyinstitutiontest.cpp \
b/kmymoney/mymoney/mymoneyinstitutiontest.cpp index 753baff..ff5d85e 100644
--- a/kmymoney/mymoney/mymoneyinstitutiontest.cpp
+++ b/kmymoney/mymoney/mymoneyinstitutiontest.cpp
@@ -221,28 +221,58 @@ void MyMoneyInstitutionTest::testWriteXML()
 
   i.writeXML(doc, el);
 
-  QString ref = QString(
-                  "<!DOCTYPE TEST>\n"
-                  "<INSTITUTION-CONTAINER>\n"
-                  " <INSTITUTION manager=\"manager\" id=\"I00001\" name=\"name\" \
                sortcode=\"sortcode\" >\n"
-                  "  <ADDRESS street=\"street\" telephone=\"telephone\" \
                zip=\"postcode\" city=\"town\" />\n"
-                  "  <ACCOUNTIDS>\n"
-                  "   <ACCOUNTID id=\"A000001\" />\n"
-                  "   <ACCOUNTID id=\"A000003\" />\n"
-                  "  </ACCOUNTIDS>\n"
-                  "  <KEYVALUEPAIRS>\n"
-                  "   <PAIR key=\"key\" value=\"value\" />\n"
-                  "  </KEYVALUEPAIRS>\n"
-                  " </INSTITUTION>\n"
-                  "</INSTITUTION-CONTAINER>\n");
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  // qDebug("ref = '%s'", qPrintable(ref));
-  // qDebug("doc = '%s'", qPrintable(doc.toString()));
-
-  QVERIFY(doc.toString() == ref);
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement institutionContainer = doc.documentElement();
+  QVERIFY(institutionContainer.isElement());
+  QCOMPARE(institutionContainer.tagName(), QLatin1String("INSTITUTION-CONTAINER"));
+  QVERIFY(institutionContainer.childNodes().size() == 1);
+  QVERIFY(institutionContainer.elementsByTagName("INSTITUTION").at(0).isElement());
+
+  QDomElement institution = \
institutionContainer.elementsByTagName("INSTITUTION").at(0).toElement(); +  \
QCOMPARE(institution.tagName(), QLatin1String("INSTITUTION")); +  \
QCOMPARE(institution.attribute("id"), QLatin1String("I00001")); +  \
QCOMPARE(institution.attribute("manager"), QLatin1String("manager")); +  \
QCOMPARE(institution.attribute("name"), QLatin1String("name")); +  \
QCOMPARE(institution.attribute("sortcode"), QLatin1String("sortcode")); +  \
QCOMPARE(institution.childNodes().size(), 3); +
+  QVERIFY(institution.childNodes().at(0).isElement());
+  QDomElement address = institution.childNodes().at(0).toElement();
+  QCOMPARE(address.tagName(), QLatin1String("ADDRESS"));
+  QCOMPARE(address.attribute("street"), QLatin1String("street"));
+  QCOMPARE(address.attribute("telephone"), QLatin1String("telephone"));
+  QCOMPARE(address.attribute("zip"), QLatin1String("postcode"));
+  QCOMPARE(address.attribute("city"), QLatin1String("town"));
+  QCOMPARE(address.childNodes().size(), 0);
+
+  QVERIFY(institution.childNodes().at(1).isElement());
+  QDomElement accountIds = institution.childNodes().at(1).toElement();
+  QCOMPARE(accountIds.tagName(), QLatin1String("ACCOUNTIDS"));
+  QCOMPARE(accountIds.childNodes().size(), 2);
+
+  QVERIFY(accountIds.childNodes().at(0).isElement());
+  QDomElement account1 = accountIds.childNodes().at(0).toElement();
+  QCOMPARE(account1.tagName(), QLatin1String("ACCOUNTID"));
+  QCOMPARE(account1.attribute("id"), QLatin1String("A000001"));
+  QCOMPARE(account1.childNodes().size(), 0);
+
+  QVERIFY(accountIds.childNodes().at(1).isElement());
+  QDomElement account2 = accountIds.childNodes().at(1).toElement();
+  QCOMPARE(account2.tagName(), QLatin1String("ACCOUNTID"));
+  QCOMPARE(account2.attribute("id"), QLatin1String("A000003"));
+  QCOMPARE(account2.childNodes().size(), 0);
+
+  QVERIFY(institution.childNodes().at(2).isElement());
+  QDomElement keyValuePairs = institution.childNodes().at(2).toElement();
+  QCOMPARE(keyValuePairs.tagName(), QLatin1String("KEYVALUEPAIRS"));
+  QCOMPARE(keyValuePairs.childNodes().size(), 1);
+
+  QVERIFY(keyValuePairs.childNodes().at(0).isElement());
+  QDomElement keyValuePair1 = keyValuePairs.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePair1.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair1.attribute("key"), QLatin1String("key"));
+  QCOMPARE(keyValuePair1.attribute("value"), QLatin1String("value"));
+  QCOMPARE(keyValuePair1.childNodes().size(), 0);
 }
 
 void MyMoneyInstitutionTest::testReadXML()
diff --git a/kmymoney/mymoney/mymoneykeyvaluecontainertest.cpp \
b/kmymoney/mymoney/mymoneykeyvaluecontainertest.cpp index a701338..d351c85 100644
--- a/kmymoney/mymoney/mymoneykeyvaluecontainertest.cpp
+++ b/kmymoney/mymoney/mymoneykeyvaluecontainertest.cpp
@@ -113,19 +113,29 @@ void MyMoneyKeyValueContainerTest::testWriteXML()
   doc.appendChild(el);
   m->writeXML(doc, el);
 
-  QString ref(
-    "<!DOCTYPE TEST>\n"
-    "<KVP-CONTAINER>\n"
-    " <KEYVALUEPAIRS>\n"
-    "  <PAIR key=\"Key\" value=\"Value\" />\n"
-    "  <PAIR key=\"key\" value=\"value\" />\n"
-    " </KEYVALUEPAIRS>\n"
-    "</KVP-CONTAINER>\n");
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  QVERIFY(doc.toString() == ref);
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement kvpContainer = doc.documentElement();
+  QCOMPARE(kvpContainer.tagName(), QLatin1String("KVP-CONTAINER"));
+  QCOMPARE(kvpContainer.childNodes().size(), 1);
+
+  QVERIFY(kvpContainer.childNodes().at(0).isElement());
+  QDomElement keyValuePairs = kvpContainer.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePairs.tagName(), QLatin1String("KEYVALUEPAIRS"));
+  QCOMPARE(keyValuePairs.childNodes().size(), 2);
+
+  QVERIFY(keyValuePairs.childNodes().at(0).isElement());
+  QDomElement keyValuePair1 = keyValuePairs.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePair1.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair1.attribute("key"), QLatin1String("Key"));
+  QCOMPARE(keyValuePair1.attribute("value"), QLatin1String("Value"));
+  QCOMPARE(keyValuePair1.childNodes().size(), 0);
+
+  QVERIFY(keyValuePairs.childNodes().at(1).isElement());
+  QDomElement keyValuePair2 = keyValuePairs.childNodes().at(1).toElement();
+  QCOMPARE(keyValuePair2.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair2.attribute("key"), QLatin1String("key"));
+  QCOMPARE(keyValuePair2.attribute("value"), QLatin1String("value"));
+  QCOMPARE(keyValuePair2.childNodes().size(), 0);
 }
 
 void MyMoneyKeyValueContainerTest::testReadXML()
diff --git a/kmymoney/mymoney/mymoneyscheduletest.cpp \
b/kmymoney/mymoney/mymoneyscheduletest.cpp index cedbf8a..3a4e30e 100644
--- a/kmymoney/mymoney/mymoneyscheduletest.cpp
+++ b/kmymoney/mymoney/mymoneyscheduletest.cpp
@@ -700,35 +700,88 @@ void MyMoneyScheduleTest::testWriteXML()
   doc.appendChild(el);
   sch.writeXML(doc, el);
 
-  QString ref = QString(
-                  "<!DOCTYPE TEST>\n"
-                  "<SCHEDULE-CONTAINER>\n"
-                  " <SCHEDULED_TX paymentType=\"1\" autoEnter=\"1\" \
occurenceMultiplier=\"123\" startDate=\"%1\" lastPayment=\"%2\" occurence=\"4\" \
weekendOption=\"2\" type=\"1\" id=\"SCH0001\" name=\"A Name\" endDate=\"\" \
                fixed=\"1\" >\n" // krazy:exclude=spelling
-                  "  <PAYMENTS>\n"
-                  "   <PAYMENT date=\"%3\" />\n"
-                  "  </PAYMENTS>\n"
-                  "  <TRANSACTION postdate=\"2001-12-28\" commodity=\"EUR\" \
                memo=\"Wohnung:Miete\" id=\"\" entrydate=\"2003-09-29\" >\n"
-                  "   <SPLITS>\n"
-                  "    <SPLIT payee=\"P000001\" reconcileflag=\"2\" \
shares=\"96379/100\" reconciledate=\"\" action=\"\" bankid=\"\" account=\"A000076\" \
                number=\"\" value=\"96379/100\" memo=\"\" id=\"S0001\" />\n"
-                  "    <SPLIT payee=\"P000001\" reconcileflag=\"1\" \
shares=\"-96379/100\" reconciledate=\"\" action=\"\" bankid=\"\" account=\"A000276\" \
                number=\"\" value=\"-96379/100\" memo=\"\" id=\"S0002\" />\n"
-                  "   </SPLITS>\n"
-                  "   <KEYVALUEPAIRS>\n"
-                  "    <PAIR key=\"key\" value=\"value\" />\n"
-                  "   </KEYVALUEPAIRS>\n"
-                  "  </TRANSACTION>\n"
-                  " </SCHEDULED_TX>\n"
-                  "</SCHEDULE-CONTAINER>\n"
-                ).arg(QDate::currentDate().toString(Qt::ISODate))
-                .arg(QDate::currentDate().toString(Qt::ISODate))
-                .arg(QDate::currentDate().toString(Qt::ISODate));
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  //qDebug("ref = '%s'", qPrintable(ref));
-  //qDebug("doc = '%s'", qPrintable(doc.toString()));
-
-  QVERIFY(doc.toString() == ref);
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement scheduleContainer = doc.documentElement();
+  QVERIFY(scheduleContainer.isElement());
+  QCOMPARE(scheduleContainer.tagName(), QLatin1String("SCHEDULE-CONTAINER"));
+  QVERIFY(scheduleContainer.childNodes().size() == 1);
+  QVERIFY(scheduleContainer.childNodes().at(0).isElement());
+
+  QDomElement schedule = scheduleContainer.childNodes().at(0).toElement();
+  QCOMPARE(schedule.tagName(), QLatin1String("SCHEDULED_TX"));
+  QCOMPARE(schedule.attribute("id"), QLatin1String("SCH0001"));
+  QCOMPARE(schedule.attribute("paymentType"), QLatin1String("1"));
+  QCOMPARE(schedule.attribute("autoEnter"), QLatin1String("1"));
+  QCOMPARE(schedule.attribute("occurenceMultiplier"), QLatin1String("123"));
+  QCOMPARE(schedule.attribute("startDate"), \
QDate::currentDate().toString(Qt::ISODate)); +  \
QCOMPARE(schedule.attribute("lastPayment"), \
QDate::currentDate().toString(Qt::ISODate)); +  \
QCOMPARE(schedule.attribute("occurenceMultiplier"), QLatin1String("123")); +  \
QCOMPARE(schedule.attribute("occurence"), QLatin1String("4")); +  \
QCOMPARE(schedule.attribute("type"), QLatin1String("1")); +  \
QCOMPARE(schedule.attribute("name"), QLatin1String("A Name")); +  \
QCOMPARE(schedule.attribute("fixed"), QLatin1String("1")); +  \
QCOMPARE(schedule.attribute("endDate"), QString()); +  \
QCOMPARE(schedule.childNodes().size(), 2); +
+  QVERIFY(schedule.childNodes().at(0).isElement());
+  QDomElement payments = schedule.childNodes().at(0).toElement();
+
+  QVERIFY(schedule.childNodes().at(1).isElement());
+  QDomElement transaction = schedule.childNodes().at(1).toElement();
+  QCOMPARE(transaction.tagName(), QLatin1String("TRANSACTION"));
+  QCOMPARE(transaction.attribute("id"), QString());
+  QCOMPARE(transaction.attribute("postdate"), QLatin1String("2001-12-28"));
+  QCOMPARE(transaction.attribute("commodity"), QLatin1String("EUR"));
+  QCOMPARE(transaction.attribute("memo"), QLatin1String("Wohnung:Miete"));
+  QCOMPARE(transaction.attribute("entrydate"), QLatin1String("2003-09-29"));
+  QCOMPARE(transaction.childNodes().size(), 2);
+
+  QVERIFY(transaction.childNodes().at(0).isElement());
+  QDomElement splits = transaction.childNodes().at(0).toElement();
+  QCOMPARE(splits.tagName(), QLatin1String("SPLITS"));
+  QCOMPARE(splits.childNodes().size(), 2);
+  QVERIFY(splits.childNodes().at(0).isElement());
+  QDomElement split1 = splits.childNodes().at(0).toElement();
+  QCOMPARE(split1.tagName(), QLatin1String("SPLIT"));
+  QCOMPARE(split1.attribute("id"), QLatin1String("S0001"));
+  QCOMPARE(split1.attribute("payee"), QLatin1String("P000001"));
+  QCOMPARE(split1.attribute("reconcileflag"), QLatin1String("2"));
+  QCOMPARE(split1.attribute("shares"), QLatin1String("96379/100"));
+  QCOMPARE(split1.attribute("reconciledate"), QString());
+  QCOMPARE(split1.attribute("action"), QString());
+  QCOMPARE(split1.attribute("bankid"), QString());
+  QCOMPARE(split1.attribute("account"), QLatin1String("A000076"));
+  QCOMPARE(split1.attribute("number"), QString());
+  QCOMPARE(split1.attribute("value"), QLatin1String("96379/100"));
+  QCOMPARE(split1.attribute("memo"), QString());
+  QCOMPARE(split1.childNodes().size(), 0);
+
+  QVERIFY(splits.childNodes().at(1).isElement());
+  QDomElement split2 = splits.childNodes().at(1).toElement();
+  QCOMPARE(split2.tagName(), QLatin1String("SPLIT"));
+  QCOMPARE(split2.attribute("id"), QLatin1String("S0002"));
+  QCOMPARE(split2.attribute("payee"), QLatin1String("P000001"));
+  QCOMPARE(split2.attribute("reconcileflag"), QLatin1String("1"));
+  QCOMPARE(split2.attribute("shares"), QLatin1String("-96379/100"));
+  QCOMPARE(split2.attribute("reconciledate"), QString());
+  QCOMPARE(split2.attribute("action"), QString());
+  QCOMPARE(split2.attribute("bankid"), QString());
+  QCOMPARE(split2.attribute("account"), QLatin1String("A000276"));
+  QCOMPARE(split2.attribute("number"), QString());
+  QCOMPARE(split2.attribute("value"), QLatin1String("-96379/100"));
+  QCOMPARE(split2.attribute("memo"), QString());
+  QCOMPARE(split2.childNodes().size(), 0);
+
+  QDomElement keyValuePairs = transaction.childNodes().at(1).toElement();
+  QCOMPARE(keyValuePairs.tagName(), QLatin1String("KEYVALUEPAIRS"));
+  QCOMPARE(keyValuePairs.childNodes().size(), 1);
+
+  QVERIFY(keyValuePairs.childNodes().at(0).isElement());
+  QDomElement keyValuePair1 = keyValuePairs.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePair1.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair1.attribute("key"), QLatin1String("key"));
+  QCOMPARE(keyValuePair1.attribute("value"), QLatin1String("value"));
+  QCOMPARE(keyValuePair1.childNodes().size(), 0);
 }
 
 void MyMoneyScheduleTest::testReadXML()
diff --git a/kmymoney/mymoney/mymoneysplittest.cpp \
b/kmymoney/mymoney/mymoneysplittest.cpp index 8224505..3f0ced7 100644
--- a/kmymoney/mymoney/mymoneysplittest.cpp
+++ b/kmymoney/mymoney/mymoneysplittest.cpp
@@ -285,6 +285,33 @@ void MyMoneySplitTest::testWriteXML()
   doc.appendChild(el);
   s.writeXML(doc, el);
 
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement splitContainer = doc.documentElement();
+  QCOMPARE(splitContainer.tagName(), QLatin1String("SPLIT-CONTAINER"));
+  QCOMPARE(splitContainer.childNodes().size(), 1);
+
+  QVERIFY(splitContainer.childNodes().at(0).isElement());
+  QDomElement split = splitContainer.childNodes().at(0).toElement();
+  QCOMPARE(split.tagName(), QLatin1String("SPLIT"));
+  QCOMPARE(split.attribute("payee"), QLatin1String("P000001"));
+  QCOMPARE(split.attribute("reconcileflag"), QLatin1String("2"));
+  QCOMPARE(split.attribute("shares"), QLatin1String("96379/100"));
+  QCOMPARE(split.attribute("reconciledate"), QString());
+  QCOMPARE(split.attribute("action"), QLatin1String("Deposit"));
+  QCOMPARE(split.attribute("bankid"), QLatin1String("SPID"));
+  QCOMPARE(split.attribute("account"), QLatin1String("A000076"));
+  QCOMPARE(split.attribute("number"), QLatin1String("124"));
+  QCOMPARE(split.attribute("value"), QLatin1String("96379/1000"));
+  QCOMPARE(split.attribute("memo"), QString());
+  QCOMPARE(split.attribute("id"), QString());
+  QCOMPARE(split.childNodes().size(), 1);
+
+  QVERIFY(split.childNodes().at(0).isElement());
+  QDomElement tag = split.childNodes().at(0).toElement();
+  QCOMPARE(tag.tagName(), QLatin1String("TAG"));
+  QCOMPARE(tag.attribute("id"), QLatin1String("G000001"));
+  QCOMPARE(tag.childNodes().size(), 0);
+
   QString ref = QString(
                   "<!DOCTYPE TEST>\n"
                   "<SPLIT-CONTAINER>\n"
@@ -292,14 +319,6 @@ void MyMoneySplitTest::testWriteXML()
                   "  <TAG id=\"G000001\"/>\n"
                   " </SPLIT>\n"
                   "</SPLIT-CONTAINER>\n");
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  //qDebug("ref = '%s'", qPrintable(ref));
-  //qDebug("doc = '%s'", qPrintable(doc.toString()));
-
-  QVERIFY(doc.toString() == ref);
 }
 
 void MyMoneySplitTest::testReadXML()
diff --git a/kmymoney/mymoney/mymoneytransactiontest.cpp \
b/kmymoney/mymoney/mymoneytransactiontest.cpp index ca0830c..7a4c0f9 100644
--- a/kmymoney/mymoney/mymoneytransactiontest.cpp
+++ b/kmymoney/mymoney/mymoneytransactiontest.cpp
@@ -429,30 +429,58 @@ void MyMoneyTransactionTest::testWriteXML()
   doc.appendChild(el);
   t.writeXML(doc, el);
 
-  QString ref = QString(
-                  "<!DOCTYPE TEST>\n"
-                  "<TRANSACTION-CONTAINER>\n"
-                  " <TRANSACTION postdate=\"2001-12-28\" commodity=\"EUR\" \
                memo=\"Wohnung:Miete\" id=\"T000000000000000001\" \
                entrydate=\"2003-09-29\" >\n"
-                  "  <SPLITS>\n"
-                  "   <SPLIT payee=\"P000001\" reconcileflag=\"2\" \
shares=\"96379/100\" reconciledate=\"\" action=\"Withdrawal\" bankid=\"SPID\" \
                account=\"A000076\" number=\"\" value=\"96379/100\" memo=\"\" \
                id=\"S0001\" >\n"
-                  "    <TAG id=\"G000001\"/>\n"
-                  "   </SPLIT>\n"
-                  "  </SPLITS>\n"
-                  "  <KEYVALUEPAIRS>\n"
-                  "   <PAIR key=\"key\" value=\"value\" />\n"
-                  "  </KEYVALUEPAIRS>\n"
-                  " </TRANSACTION>\n"
-                  "</TRANSACTION-CONTAINER>\n"
-
-                );
-
-  ref.replace(QString(" />\n"), QString("/>\n"));
-  ref.replace(QString(" >\n"), QString(">\n"));
-
-  //qDebug("ref = '%s'", qPrintable(ref));
-  //qDebug("doc = '%s'", qPrintable(doc.toString()));
-
-  QVERIFY(doc.toString() == ref);
+  QCOMPARE(doc.doctype().name(), QLatin1String("TEST"));
+  QDomElement transactionContainer = doc.documentElement();
+  QVERIFY(transactionContainer.isElement());
+  QCOMPARE(transactionContainer.tagName(), QLatin1String("TRANSACTION-CONTAINER"));
+  QVERIFY(transactionContainer.childNodes().size() == 1);
+  QVERIFY(transactionContainer.childNodes().at(0).isElement());
+
+  QDomElement transaction = transactionContainer.childNodes().at(0).toElement();
+  QCOMPARE(transaction.tagName(), QLatin1String("TRANSACTION"));
+  QCOMPARE(transaction.attribute("id"), QLatin1String("T000000000000000001"));
+  QCOMPARE(transaction.attribute("postdate"), QLatin1String("2001-12-28"));
+  QCOMPARE(transaction.attribute("commodity"), QLatin1String("EUR"));
+  QCOMPARE(transaction.attribute("memo"), QLatin1String("Wohnung:Miete"));
+  QCOMPARE(transaction.attribute("entrydate"), QLatin1String("2003-09-29"));
+  QCOMPARE(transaction.childNodes().size(), 2);
+
+  QVERIFY(transaction.childNodes().at(0).isElement());
+  QDomElement splits = transaction.childNodes().at(0).toElement();
+  QCOMPARE(splits.tagName(), QLatin1String("SPLITS"));
+  QCOMPARE(splits.childNodes().size(), 1);
+  QVERIFY(splits.childNodes().at(0).isElement());
+  QDomElement split = splits.childNodes().at(0).toElement();
+  QCOMPARE(split.tagName(), QLatin1String("SPLIT"));
+  QCOMPARE(split.attribute("id"), QLatin1String("S0001"));
+  QCOMPARE(split.attribute("payee"), QLatin1String("P000001"));
+  QCOMPARE(split.attribute("reconcileflag"), QLatin1String("2"));
+  QCOMPARE(split.attribute("shares"), QLatin1String("96379/100"));
+  QCOMPARE(split.attribute("reconciledate"), QString());
+  QCOMPARE(split.attribute("action"), QLatin1String("Withdrawal"));
+  QCOMPARE(split.attribute("bankid"), QLatin1String("SPID"));
+  QCOMPARE(split.attribute("account"), QLatin1String("A000076"));
+  QCOMPARE(split.attribute("number"), QString());
+  QCOMPARE(split.attribute("value"), QLatin1String("96379/100"));
+  QCOMPARE(split.attribute("memo"), QString());
+  QCOMPARE(split.childNodes().size(), 1);
+
+  QVERIFY(split.childNodes().at(0).isElement());
+  QDomElement tag = split.childNodes().at(0).toElement();
+  QCOMPARE(tag.tagName(), QLatin1String("TAG"));
+  QCOMPARE(tag.attribute("id"), QLatin1String("G000001"));
+  QCOMPARE(tag.childNodes().size(), 0);
+
+  QDomElement keyValuePairs = transaction.childNodes().at(1).toElement();
+  QCOMPARE(keyValuePairs.tagName(), QLatin1String("KEYVALUEPAIRS"));
+  QCOMPARE(keyValuePairs.childNodes().size(), 1);
+
+  QVERIFY(keyValuePairs.childNodes().at(0).isElement());
+  QDomElement keyValuePair1 = keyValuePairs.childNodes().at(0).toElement();
+  QCOMPARE(keyValuePair1.tagName(), QLatin1String("PAIR"));
+  QCOMPARE(keyValuePair1.attribute("key"), QLatin1String("key"));
+  QCOMPARE(keyValuePair1.attribute("value"), QLatin1String("value"));
+  QCOMPARE(keyValuePair1.childNodes().size(), 0);
 }
 
 void MyMoneyTransactionTest::testReadXML()


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic