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

List:       kde-commits
Subject:    [kmymoney/frameworks] kmymoney/mymoney: Preparing for Qt5.
From:       Cristian_OneČ› <onet.cristian () gmail ! com>
Date:       2014-06-30 19:57:25
Message-ID: E1X1hhd-00073n-R2 () scm ! kde ! org
[Download RAW message or body]

Git commit 6703074fb4eeb6bfa97f178e3fd1f46df777f7c4 by Cristian OneČ›.
Committed on 30/06/2014 at 19:52.
Pushed by conet into branch 'frameworks'.

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.

(cherry picked from commit 5d1e215a3c1bd031d57551efdcc0371758ad9865)

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/6703074fb4eeb6bfa97f178e3fd1f46df777f7c4

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