Added a simple storage abstraction, and an in-memory sample.
[shibboleth/cpp-xmltooling.git] / xmltoolingtest / xmltoolingtest.h
index 84b52c1..6507143 100644 (file)
@@ -21,8 +21,8 @@
 #include <xmltooling/XMLToolingConfig.h>\r
 #include <xmltooling/util/ParserPool.h>\r
 \r
-ParserPool* validatingPool=NULL;\r
-ParserPool* nonvalidatingPool=NULL;\r
+//#define XMLTOOLINGTEST_LEAKCHECK\r
+\r
 std::string data_path = "../xmltoolingtest/data/";\r
 \r
 class ToolingFixture : public CxxTest::GlobalFixture\r
@@ -30,17 +30,17 @@ class ToolingFixture : public CxxTest::GlobalFixture
 public:\r
     bool setUpWorld() {\r
         XMLToolingConfig::getConfig().log_config();\r
-        if (!XMLToolingConfig::getConfig().init())\r
-            return false;\r
-        validatingPool = new ParserPool(true,true);\r
-        nonvalidatingPool = new ParserPool();\r
+\r
         if (getenv("XMLTOOLINGTEST_DATA"))\r
             data_path=std::string(getenv("XMLTOOLINGTEST_DATA")) + "/";\r
+        XMLToolingConfig::getConfig().catalog_path = data_path + "catalog.xml";\r
+\r
+        if (!XMLToolingConfig::getConfig().init())\r
+            return false;\r
+        \r
         return true;\r
     }\r
     bool tearDownWorld() {\r
-        delete validatingPool;\r
-        delete nonvalidatingPool;\r
         XMLToolingConfig::getConfig().term();\r
 #if defined(_MSC_VER ) && defined(XMLTOOLINGTEST_LEAKCHECK)\r
        _CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );\r
@@ -62,15 +62,17 @@ static ToolingFixture globalFixture;
 class GlobalTest : public CxxTest::TestSuite\r
 {\r
 public:\r
-    void testCatalog(void) {\r
-        std::string path=data_path + "catalog.xml";\r
-        auto_ptr_XMLCh temp(path.c_str());\r
-        TS_ASSERT(validatingPool->loadCatalog(temp.get()));\r
+    void setUp() {\r
+        XMLObjectBuilder::registerDefaultBuilder(new UnknownElementBuilder());\r
+    }\r
+\r
+    void tearDown() {\r
+        XMLObjectBuilder::deregisterDefaultBuilder();\r
     }\r
 \r
     void testUnknown() {\r
         ifstream fs("../xmltoolingtest/data/SimpleXMLObjectWithChildren.xml");\r
-        DOMDocument* doc=nonvalidatingPool->parse(fs);\r
+        DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs);\r
         TS_ASSERT(doc!=NULL);\r
 \r
         string buf1;\r
@@ -98,7 +100,7 @@ public:
 \r
     void testUnknownWithDocChange() {\r
         ifstream fs("../xmltoolingtest/data/SimpleXMLObjectWithChildren.xml");\r
-        DOMDocument* doc=nonvalidatingPool->parse(fs);\r
+        DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(fs);\r
         TS_ASSERT(doc!=NULL);\r
 \r
         string buf1;\r
@@ -110,7 +112,7 @@ public:
         auto_ptr<XMLObject> xmlObject(b->buildFromDocument(doc)); // bind document\r
         TS_ASSERT(xmlObject.get()!=NULL);\r
 \r
-        DOMDocument* newDoc=nonvalidatingPool->newDocument();\r
+        DOMDocument* newDoc=XMLToolingConfig::getConfig().getParser().newDocument();\r
         DOMElement* rootElement=xmlObject->marshall(newDoc);\r
         TS_ASSERT(rootElement!=NULL);\r
 \r