1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include <QTest>
#include <QBuffer>
#include "metaxmlparser.h"
class T_MetaParser : public QObject {
Q_OBJECT
private Q_SLOTS:
void initTestCase()
{
}
void goodParser() {
QByteArray xml = "<kraftmeta>\
<migrate>\
<doctype>\
<name>Progress Payment Invoice</name>\
<numbercycle>default</numbercycle>\
<lang>en</lang>\
<attrib>\
<key>PartialInvoice</key>\
<value>true</value>\
</attrib>\
<attrib>\
<key>RedRider</key>\
<value>true</value>\
</attrib>\
<follower>Final Invoice</follower>\
<follower>Invoice</follower>\
</doctype>\
</migrate>\
</kraftmeta>";
QBuffer buf( &xml);
QVERIFY(buf.open(QIODeviceBase::ReadOnly));
MetaXMLParser parser;
QVERIFY(parser.parse(&buf));
QList<MetaDocTypeAdd> list = parser.metaDocTypeAddList();
QVERIFY(list.size() == 1 );
MetaDocTypeAdd tadd = list.first();
QCOMPARE(tadd.name(), QLatin1String("Progress Payment Invoice") );
QCOMPARE(tadd.numbercycle(), QLatin1String("default"));
QCOMPARE(tadd.lang(), QLatin1String("en"));
QVERIFY(tadd._attribs.size() == 2);
QVariant rr(tadd._attribs.value("RedRider"));
QVERIFY(rr.toBool());
QVERIFY(tadd._follower.size() == 2);
QCOMPARE(tadd._follower.at(0), QLatin1String("Final Invoice"));
QCOMPARE(tadd._follower.at(1), QLatin1String("Invoice"));
}
private:
};
QTEST_MAIN(T_MetaParser)
#include "t_metaparser.moc"
|