X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=samltest%2Finternal.h;h=1cfe28f2de8554da9796bd565b2089678b119be0;hb=c0b92549e28e1fca5e7c4a8d09dc06fd09f65292;hp=a49c55fa6ce855f38e8d78432e16f9922d6d770e;hpb=0ba5816a876bed78a05d9ed77db97b809927f1c0;p=shibboleth%2Fcpp-opensaml.git diff --git a/samltest/internal.h b/samltest/internal.h index a49c55f..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); } @@ -203,7 +210,7 @@ class SAMLObjectValidatorBaseTestCase : virtual public SAMLObjectBaseTestCase { validator->validate(validateTarget); TS_TRACE(message); TS_FAIL("Validation success, expected failure to raise ValidationException"); - } catch (ValidationException &e) { + } catch (ValidationException&) { } }