X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltoolingtest%2Fxmltoolingtest.h;h=650714351f88c33d59a1ff86b501329b14cb0891;hb=8c28c26a2cb6adf1e2f56af534b5157a9ec605e0;hp=84b52c1013810c72559595f6443ad85c348e5f6a;hpb=90b649c84f13dcfbebc2f15e43219401f222bcba;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltoolingtest/xmltoolingtest.h b/xmltoolingtest/xmltoolingtest.h index 84b52c1..6507143 100644 --- a/xmltoolingtest/xmltoolingtest.h +++ b/xmltoolingtest/xmltoolingtest.h @@ -21,8 +21,8 @@ #include #include -ParserPool* validatingPool=NULL; -ParserPool* nonvalidatingPool=NULL; +//#define XMLTOOLINGTEST_LEAKCHECK + std::string data_path = "../xmltoolingtest/data/"; class ToolingFixture : public CxxTest::GlobalFixture @@ -30,17 +30,17 @@ class ToolingFixture : public CxxTest::GlobalFixture public: bool setUpWorld() { XMLToolingConfig::getConfig().log_config(); - if (!XMLToolingConfig::getConfig().init()) - return false; - validatingPool = new ParserPool(true,true); - nonvalidatingPool = new ParserPool(); + if (getenv("XMLTOOLINGTEST_DATA")) data_path=std::string(getenv("XMLTOOLINGTEST_DATA")) + "/"; + XMLToolingConfig::getConfig().catalog_path = data_path + "catalog.xml"; + + if (!XMLToolingConfig::getConfig().init()) + return false; + return true; } bool tearDownWorld() { - delete validatingPool; - delete nonvalidatingPool; XMLToolingConfig::getConfig().term(); #if defined(_MSC_VER ) && defined(XMLTOOLINGTEST_LEAKCHECK) _CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE ); @@ -62,15 +62,17 @@ static ToolingFixture globalFixture; class GlobalTest : public CxxTest::TestSuite { public: - void testCatalog(void) { - std::string path=data_path + "catalog.xml"; - auto_ptr_XMLCh temp(path.c_str()); - TS_ASSERT(validatingPool->loadCatalog(temp.get())); + void setUp() { + XMLObjectBuilder::registerDefaultBuilder(new UnknownElementBuilder()); + } + + void tearDown() { + XMLObjectBuilder::deregisterDefaultBuilder(); } void testUnknown() { ifstream fs("../xmltoolingtest/data/SimpleXMLObjectWithChildren.xml"); - DOMDocument* doc=nonvalidatingPool->parse(fs); + DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs); TS_ASSERT(doc!=NULL); string buf1; @@ -98,7 +100,7 @@ public: void testUnknownWithDocChange() { ifstream fs("../xmltoolingtest/data/SimpleXMLObjectWithChildren.xml"); - DOMDocument* doc=nonvalidatingPool->parse(fs); + DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs); TS_ASSERT(doc!=NULL); string buf1; @@ -110,7 +112,7 @@ public: auto_ptr xmlObject(b->buildFromDocument(doc)); // bind document TS_ASSERT(xmlObject.get()!=NULL); - DOMDocument* newDoc=nonvalidatingPool->newDocument(); + DOMDocument* newDoc=XMLToolingConfig::getConfig().getParser().newDocument(); DOMElement* rootElement=xmlObject->marshall(newDoc); TS_ASSERT(rootElement!=NULL);