diff options
Diffstat (limited to 'test/src/test-mmi.cpp')
-rw-r--r-- | test/src/test-mmi.cpp | 289 |
1 files changed, 283 insertions, 6 deletions
diff --git a/test/src/test-mmi.cpp b/test/src/test-mmi.cpp index 0b9f5f9..eeb71ee 100644 --- a/test/src/test-mmi.cpp +++ b/test/src/test-mmi.cpp @@ -1,7 +1,7 @@ #include <iostream> #include <string> -#include "uscxml/plugins/ioprocessor/modality/MMIMessages.h" +#include "uscxml/messages/MMIMessages.h" #include <SAX/helpers/InputSourceResolver.hpp> #include <DOM/SAX2DOM/SAX2DOM.hpp> @@ -30,19 +30,30 @@ int main(int argc, char** argv) { // --- NewContextRequest std::stringstream ss; ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\"><mmi:NewContextRequest mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:RequestID=\"request-1\"></mmi:NewContextRequest></mmi:mmi>"; + NewContextRequest msg = NewContextRequest::fromXML(xmlToDoc(ss.str())); assert(boost::iequals(msg.tagName, "NewContextRequest")); assert(boost::iequals(msg.source, "someURI")); assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.data, "")); - + NewContextRequest msg2 = NewContextRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "NewContextRequest")); assert(boost::iequals(msg2.source, "someURI")); assert(boost::iequals(msg2.target, "someOtherURI")); assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.data, "")); + + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.newcontext"); + assert(ev.origin == msg.source); } { @@ -69,10 +80,20 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "URI-1")); assert(boost::iequals(msg2.data, "")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.newcontext"); + assert(ev.origin == msg.source); + } { - // --- PrepareRequest + // --- PrepareRequest ContentURL std::stringstream ss; ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\"> <mmi:PrepareRequest mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:Context=\"URI-1\" mmi:RequestID=\"request-1\"> <mmi:ContentURL mmi:href=\"someContentURI\" mmi:max-age=\"\" mmi:fetchtimeout=\"1s\"/> </mmi:PrepareRequest></mmi:mmi>"; PrepareRequest msg = PrepareRequest::fromXML(xmlToDoc(ss.str())); @@ -99,10 +120,20 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.contentURL.maxAge, "")); assert(boost::iequals(msg2.contentURL.fetchTimeout, "1s")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.prepare"); + assert(ev.origin == msg.source); + } { - // --- PrepareRequest + // --- PrepareRequest Content std::stringstream ss; ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\" xmlns:vxml=\"http://www.w3.org/2001/vxml\"> <mmi:PrepareRequest mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:Context=\"URI-1\" mmi:RequestID=\"request-1\" > <mmi:content> <vxml:vxml version=\"2.0\"> <vxml:form> <vxml:block>Hello World!</vxml:block> </vxml:form> </vxml:vxml> </mmi:content> </mmi:PrepareRequest></mmi:mmi>"; PrepareRequest msg = PrepareRequest::fromXML(xmlToDoc(ss.str())); @@ -111,8 +142,8 @@ int main(int argc, char** argv) { assert(boost::iequals(msg.target, "someOtherURI")); assert(boost::iequals(msg.requestId, "request-1")); assert(boost::iequals(msg.context, "URI-1")); - assert(msg.content.size() > 0); - + assert(msg.contentDOM); + PrepareRequest msg2 = PrepareRequest::fromXML(msg.toXML()); assert(boost::iequals(msg2.tagName, "PrepareRequest")); assert(boost::iequals(msg2.source, "someURI")); @@ -121,6 +152,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "URI-1")); assert(msg2.content.size() > 0); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.prepare"); + assert(ev.origin == msg.source); + } { @@ -143,6 +184,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.prepare"); + assert(ev.origin == msg.source); + } { @@ -167,6 +218,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.statusInfo, " NotAuthorized ")); assert(msg2.status == StatusResponse::FAILURE); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.prepare"); + assert(ev.origin == msg.source); + } { @@ -187,9 +248,52 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "URI-1")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.start"); + assert(ev.origin == msg.source); + } { + // --- StartRequest + std::stringstream ss; + ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\"> <mmi:StartRequest mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:Context=\"URI-1\" mmi:RequestID=\"request-1\"> <mmi:ContentURL mmi:href=\"someContentURI\" mmi:max-age=\"\" mmi:fetchtimeout=\"1s\"/> <mmi:Data> { \"foo\": 12 } </mmi:Data> </mmi:StartRequest></mmi:mmi>"; + StartRequest msg = StartRequest::fromXML(xmlToDoc(ss.str())); + assert(boost::iequals(msg.tagName, "StartRequest")); + assert(boost::iequals(msg.source, "someURI")); + assert(boost::iequals(msg.target, "someOtherURI")); + assert(boost::iequals(msg.requestId, "request-1")); + assert(boost::iequals(msg.context, "URI-1")); + + StartRequest msg2 = StartRequest::fromXML(msg.toXML()); + assert(boost::iequals(msg2.tagName, "StartRequest")); + assert(boost::iequals(msg2.source, "someURI")); + assert(boost::iequals(msg2.target, "someOtherURI")); + assert(boost::iequals(msg2.requestId, "request-1")); + assert(boost::iequals(msg2.context, "URI-1")); + + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.start"); + assert(ev.data.compound["foo"] == 12); + assert(ev.origin == msg.source); + + } + + + + { // --- StartResponse std::stringstream ss; ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\"> <mmi:StartResponse mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:Context=\"someURI\" mmi:RequestID=\"request-1\" mmi:Status=\"failure\"> <mmi:statusInfo> NotAuthorized </mmi:statusInfo> </mmi:StartResponse></mmi:mmi>"; @@ -211,6 +315,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.statusInfo, " NotAuthorized ")); assert(msg2.status == StatusResponse::FAILURE); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.start"); + assert(ev.origin == msg.source); + } { @@ -235,6 +349,16 @@ int main(int argc, char** argv) { assert(msg2.data.size() > 0); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.notification.done"); + assert(ev.origin == msg.source); + } { @@ -259,6 +383,16 @@ int main(int argc, char** argv) { assert(msg2.data.size() > 0); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.notification.done"); + assert(ev.origin == msg.source); + } { @@ -279,6 +413,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.cancel"); + assert(ev.origin == msg.source); + } { @@ -301,6 +445,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.cancel"); + assert(ev.origin == msg.source); + } { @@ -321,6 +475,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.pause"); + assert(ev.origin == msg.source); + } { @@ -343,6 +507,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.pause"); + assert(ev.origin == msg.source); + } { @@ -363,6 +537,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.requestId, "request-1")); assert(boost::iequals(msg2.context, "someURI")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.resume"); + assert(ev.origin == msg.source); + } { @@ -385,6 +569,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.resume"); + assert(ev.origin == msg.source); + } { @@ -407,6 +601,49 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(boost::iequals(msg2.name, "appEvent")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "appEvent"); + assert(ev.origin == msg.source); + + } + + { + // --- ExtensionNotification + std::stringstream ss; + ss << "<mmi:mmi xmlns:mmi=\"http://www.w3.org/2008/04/mmi-arch\" version=\"1.0\"> <mmi:ExtensionNotification mmi:Name=\"appEvent\" mmi:Source=\"someURI\" mmi:Target=\"someOtherURI\" mmi:Context=\"someURI\" mmi:RequestID=\"request-1\"> <mmi:Data> { \"foo\": 12 } </mmi:Data> </mmi:ExtensionNotification></mmi:mmi>"; + ExtensionNotification msg = ExtensionNotification::fromXML(xmlToDoc(ss.str())); + assert(boost::iequals(msg.tagName, "ExtensionNotification")); + assert(boost::iequals(msg.source, "someURI")); + assert(boost::iequals(msg.target, "someOtherURI")); + assert(boost::iequals(msg.requestId, "request-1")); + assert(boost::iequals(msg.context, "someURI")); + assert(boost::iequals(msg.name, "appEvent")); + + ExtensionNotification msg2 = ExtensionNotification::fromXML(msg.toXML()); + assert(boost::iequals(msg2.tagName, "ExtensionNotification")); + assert(boost::iequals(msg2.source, "someURI")); + assert(boost::iequals(msg2.target, "someOtherURI")); + assert(boost::iequals(msg2.requestId, "request-1")); + assert(boost::iequals(msg2.context, "someURI")); + assert(boost::iequals(msg2.name, "appEvent")); + + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "appEvent"); + assert(ev.data.compound["foo"] == 12); + assert(ev.origin == msg.source); + } { @@ -427,6 +664,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.requestId, "request-2")); assert(boost::iequals(msg2.context, "someURI")); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.clearcontext"); + assert(ev.origin == msg.source); + } { @@ -449,6 +696,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "someURI")); assert(msg2.status == StatusResponse::SUCCESS); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.clearcontext"); + assert(ev.origin == msg.source); + } { @@ -471,6 +728,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "aToken")); assert(msg2.automaticUpdate); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.request.status"); + assert(ev.origin == msg.source); + } { @@ -493,6 +760,16 @@ int main(int argc, char** argv) { assert(boost::iequals(msg2.context, "aToken")); assert(msg2.status == StatusResponse::ALIVE); + std::stringstream xml1SS; + std::stringstream xml2SS; + xml1SS << msg.toXML(); + xml2SS << msg2.toXML(); + assert(xml1SS.str() == xml2SS.str()); + + Event ev = msg; + assert(ev.name == "mmi.response.status"); + assert(ev.origin == msg.source); + } }
\ No newline at end of file |