From d98bbdffd9f45ff8ecd1fece04cad2d93f5d0a9e Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 10 Aug 2010 08:31:00 +0000 Subject: parse/serialise XML-RPC faults --- example/tests/tests.cpp | 38 ++++++++++++++++++++++++++++++++++++++ example/tests/tests.h | 1 + 2 files changed, 39 insertions(+) (limited to 'example') diff --git a/example/tests/tests.cpp b/example/tests/tests.cpp index d233004b..1da51be5 100644 --- a/example/tests/tests.cpp +++ b/example/tests/tests.cpp @@ -464,10 +464,48 @@ void TestXmlRpc::testResponse() QXmppRpcResponseIq iq; parsePacket(iq, xml); + QCOMPARE(iq.faultCode(), 0); + QCOMPARE(iq.faultString(), QString()); QCOMPARE(iq.values(), QVariantList() << QString("Colorado")); serializePacket(iq, xml); } +void TestXmlRpc::testResponseFault() +{ + const QByteArray xml( + "" + "" + "" + "" + "" + "" + "" + "faultCode" + "404" + "" + "" + "faultString" + "Not found" + "" + "" + "" + "" + "" + "" + ""); + + QXmppRpcResponseIq iq; + parsePacket(iq, xml); + QCOMPARE(iq.faultCode(), 404); + QCOMPARE(iq.faultString(), QLatin1String("Not found")); + QCOMPARE(iq.values(), QVariantList()); + serializePacket(iq, xml); +} + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); diff --git a/example/tests/tests.h b/example/tests/tests.h index 9dc1a01c..2294339f 100644 --- a/example/tests/tests.h +++ b/example/tests/tests.h @@ -77,4 +77,5 @@ private slots: void testInvoke(); void testResponse(); + void testResponseFault(); }; -- cgit v1.2.3