diff options
Diffstat (limited to 'example')
| -rw-r--r-- | example/tests/tests.cpp | 38 | ||||
| -rw-r--r-- | example/tests/tests.h | 1 |
2 files changed, 39 insertions, 0 deletions
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( + "<iq" + " id=\"rpc1\"" + " to=\"requester@company-b.com/jrpc-client\"" + " from=\"responder@company-a.com/jrpc-server\"" + " type=\"result\">" + "<query xmlns=\"jabber:iq:rpc\">" + "<methodResponse>" + "<fault>" + "<value>" + "<struct>" + "<member>" + "<name>faultCode</name>" + "<value><i4>404</i4></value>" + "</member>" + "<member>" + "<name>faultString</name>" + "<value><string>Not found</string></value>" + "</member>" + "</struct>" + "</value>" + "</fault>" + "</methodResponse>" + "</query>" + "</iq>"); + + 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(); }; |
