Author: ts
Date: Thu Oct 11 17:44:22 2007
New Revision: 6434

Log:
- Added base class for client test setup.

Added:
    trunk/Webdav/tests/client_test_setup.php   (with props)

Added: trunk/Webdav/tests/client_test_setup.php
==============================================================================
--- trunk/Webdav/tests/client_test_setup.php (added)
+++ trunk/Webdav/tests/client_test_setup.php [iso-8859-1] Thu Oct 11 17:44:22 
2007
@@ -1,0 +1,38 @@
+<?php
+
+class ezcWebdavClientTestSetup
+{
+    protected static $mockClassSource = '
+        class %sMock extends %s
+        {
+            protected function retreiveBody()
+            {
+                return $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_BODY"];
+            }
+        
+            protected function sendResponse( ezcWebdavOutputResult $output )
+            {
+                $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_STATUS"]  = 
$output->status;
+                $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS"] = 
$output->headers;
+                $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_BODY"]    = 
$output->body;
+            }
+        }
+    ';
+
+    protected static function getServer( ezcWebdavPathFactory $pathFactory )
+    {
+        $server = ezcWebdavServer::getInstance();
+        
+        foreach ( $server->transports as $id => $transportCfg )
+        {
+            eval( sprintf( self::$mockClassSource, $transportCfg->transport, 
$transportCfg->transport ) );
+
+            $server->transports[$id]->transport   = 
"{$transportCfg->transport}Mock";
+            $server->transports[$id]->pathFactory = $pathFactory;
+        }
+
+        return $server;
+    }
+}
+
+?>

Propchange: trunk/Webdav/tests/client_test_setup.php
------------------------------------------------------------------------------
    svn:eol-style = native


-- 
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to