X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=samltest%2Finternal.h;h=1cfe28f2de8554da9796bd565b2089678b119be0;hb=48038b6787531fa6a5d182f5873f256a148a070d;hp=7e82e01edf4c8446e5edc5c570b5b50caaa62626;hpb=bd8b4c9a43deab5f81fd0d3bcc0f5a74e44ee195;p=shibboleth%2Fcpp-opensaml.git diff --git a/samltest/internal.h b/samltest/internal.h index 7e82e01..1cfe28f 100644 --- a/samltest/internal.h +++ b/samltest/internal.h @@ -18,12 +18,11 @@ #include #include -#include #include -#include -#include #include #include +#include +#include using namespace opensaml; using namespace xmltooling; @@ -72,8 +71,16 @@ protected: } } - void assertEquals(const char* failMessage, DOMDocument* expectedDOM, XMLObject* xmlObject) { - DOMElement* generatedDOM = xmlObject->marshall(); + void assertEquals(const char* failMessage, DOMDocument* expectedDOM, XMLObject* xmlObject, bool canMarshall=true) { + DOMElement* generatedDOM = xmlObject->getDOM(); + if (!generatedDOM) { + if (!canMarshall) { + TSM_ASSERT("DOM not available", false); + } + else { + generatedDOM = xmlObject->marshall(); + } + } if (!generatedDOM->isEqualNode(expectedDOM->getDocumentElement())) { string buf; XMLHelper::serialize(generatedDOM, buf); @@ -85,8 +92,8 @@ protected: } } - void assertEquals(DOMDocument* expectedDOM, XMLObject* xmlObject) { - assertEquals("Marshalled DOM was not the same as the expected DOM", expectedDOM, xmlObject); + void assertEquals(DOMDocument* expectedDOM, XMLObject* xmlObject, bool canMarshall=true) { + assertEquals("Marshalled DOM was not the same as the expected DOM", expectedDOM, xmlObject, canMarshall); delete xmlObject; } @@ -94,10 +101,10 @@ protected: char* buf = NULL; if (!XMLString::equals(expectedString, testString)) { buf = XMLString::transcode(testString); - TS_TRACE(buf); + TS_TRACE(buf ? buf : "(NULL)"); XMLString::release(&buf); buf = XMLString::transcode(expectedString); - TS_TRACE(buf); + TS_TRACE(buf ? buf : "(NULL)"); XMLString::release(&buf); TSM_ASSERT(failMessage, false); }