Move to standard layout.
authorGunnar Wrobel <p@rdus.de>
Tue, 14 Dec 2010 04:17:59 +0000 (05:17 +0100)
committerGunnar Wrobel <p@rdus.de>
Tue, 14 Dec 2010 17:26:55 +0000 (18:26 +0100)
framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/CclientTest.php [deleted file]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/ImapTest.php [deleted file]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/MockTest.php [deleted file]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/PearTest.php [deleted file]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/CclientTest.php [new file with mode: 0644]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/ImapTest.php [new file with mode: 0644]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/MockTest.php [new file with mode: 0644]
framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/PearTest.php [new file with mode: 0644]

diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/CclientTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/CclientTest.php
deleted file mode 100644 (file)
index 31a4ad7..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/**
- * Test the Kolab mock driver.
- *
- * PHP version 5
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-
-/**
- * Prepare the test setup.
- */
-require_once dirname(__FILE__) . '/../../Autoload.php';
-
-/**
- * Test the Kolab mock driver.
- *
- * Copyright 2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-class Horde_Kolab_Storage_Class_Driver_CclientTest
-extends PHPUnit_Framework_TestCase
-{
-    public function setUp()
-    {
-        $this->group = new Horde_Group_Mock();
-    }
-
-    public function testGetNamespaceReturnsNamespaceHandler()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Cclient(
-            $this->group,
-            array()
-        );
-        $this->assertType(
-            'Horde_Kolab_Storage_Driver_Namespace',
-            $driver->getNamespace()
-        );
-    }
-
-    public function testGetNamespaceReturnsExpectedNamespaces()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Cclient(
-            $this->group,
-            array()
-        );
-        $namespaces = array();
-        foreach ($driver->getNamespace() as $namespace) {
-            $namespaces[$namespace->getName()] = array(
-                'type' => $namespace->getType(),
-                'delimiter' => $namespace->getDelimiter(),
-            );
-        }
-        $this->assertEquals(
-            array(
-                'INBOX' => array(
-                    'type' => 'personal',
-                    'delimiter' => '/',
-                ),
-                'user' => array(
-                    'type' => 'other',
-                    'delimiter' => '/',
-                ),
-                '' => array(
-                    'type' => 'shared',
-                    'delimiter' => '/',
-                ),
-            ),
-            $namespaces
-        );
-    }
-}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/ImapTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/ImapTest.php
deleted file mode 100644 (file)
index 086ebd2..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/**
- * Test the Kolab mock driver.
- *
- * PHP version 5
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-
-/**
- * Prepare the test setup.
- */
-require_once dirname(__FILE__) . '/../../Autoload.php';
-
-/**
- * Test the Kolab mock driver.
- *
- * Copyright 2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-class Horde_Kolab_Storage_Class_Driver_ImapTest
-extends PHPUnit_Framework_TestCase
-{
-    public function setUp()
-    {
-        $this->group = new Horde_Group_Mock();
-    }
-
-    public function testGetNamespaceReturnsNamespaceHandler()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Imap(
-            $this->_getNamespaceMock(),
-            $this->group,
-            array()
-        );
-        $this->assertType(
-            'Horde_Kolab_Storage_Driver_Namespace',
-            $driver->getNamespace()
-        );
-    }
-
-    public function testGetNamespaceReturnsExpectedNamespaces()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Imap(
-            $this->_getNamespaceMock(),
-            $this->group,
-            array()
-        );
-        $namespaces = array();
-        foreach ($driver->getNamespace() as $namespace) {
-            $namespaces[$namespace->getName()] = array(
-                'type' => $namespace->getType(),
-                'delimiter' => $namespace->getDelimiter(),
-            );
-        }
-        $this->assertEquals(
-            array(
-                'INBOX' => array(
-                    'type' => 'personal',
-                    'delimiter' => '/',
-                ),
-                'user' => array(
-                    'type' => 'other',
-                    'delimiter' => '/',
-                ),
-                '' => array(
-                    'type' => 'shared',
-                    'delimiter' => '/',
-                ),
-            ),
-            $namespaces
-        );
-    }
-
-    private function _getNamespaceMock()
-    {
-        $imap = $this->getMock('Horde_Imap_Client_Socket', array(), array(), '', false, false);
-        $imap->expects($this->once())
-            ->method('queryCapability')
-            ->with('NAMESPACE')
-            ->will($this->returnValue(true));
-        $imap->expects($this->once())
-            ->method('getNamespaces')
-            ->will(
-                $this->returnValue(
-                    array(
-                        array(
-                            'type' => 'personal',
-                            'name' => 'INBOX',
-                            'delimiter' => '/',
-                        ),
-                        array(
-                            'type' => 'other',
-                            'name' => 'user',
-                            'delimiter' => '/',
-                        ),
-                        array(
-                            'type' => 'shared',
-                            'name' => '',
-                            'delimiter' => '/',
-                        ),
-                    )
-                )
-            );
-        return $imap;
-    }
-}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/MockTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/MockTest.php
deleted file mode 100644 (file)
index 1874891..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/**
- * Test the Kolab mock driver.
- *
- * PHP version 5
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-
-/**
- * Prepare the test setup.
- */
-require_once dirname(__FILE__) . '/../../Autoload.php';
-
-/**
- * Test the Kolab mock driver.
- *
- * Copyright 2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-class Horde_Kolab_Storage_Class_Driver_MockTest
-extends PHPUnit_Framework_TestCase
-{
-    public function setUp()
-    {
-        $this->group = new Horde_Group_Mock();
-    }
-
-    public function testGetAnnotationReturnsAnnotationValue()
-    {
-        $this->markTestIncomplete();
-
-        $data = array();
-        $data['INBOX/Contacts']['annotations']['/vendor/kolab/folder-type']['value.shared'] = 'contact.default';
-        $driver = new Horde_Kolab_Storage_Driver_Mock(
-            $this->group,
-            $data
-        );
-        $this->assertEquals(
-            'contact.default',
-            $driver->getAnnotation('/vendor/kolab/folder-type', 'value.shared', 'INBOX/Contacts')
-        );
-    }
-
-    public function testGetNamespaceReturnsNamespaceHandler()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Mock(
-            $this->group,
-            array()
-        );
-        $this->assertType(
-            'Horde_Kolab_Storage_Driver_Namespace',
-            $driver->getNamespace()
-        );
-    }
-
-    public function testGetNamespaceReturnsExpectedNamespaces()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Mock(
-            $this->group,
-            array()
-        );
-        $namespaces = array();
-        foreach ($driver->getNamespace() as $namespace) {
-            $namespaces[$namespace->getName()] = array(
-                'type' => $namespace->getType(),
-                'delimiter' => $namespace->getDelimiter(),
-            );
-        }
-        $this->assertEquals(
-            array(
-                'INBOX' => array(
-                    'type' => 'personal',
-                    'delimiter' => '/',
-                ),
-                'user' => array(
-                    'type' => 'other',
-                    'delimiter' => '/',
-                ),
-                '' => array(
-                    'type' => 'shared',
-                    'delimiter' => '/',
-                ),
-            ),
-            $namespaces
-        );
-    }
-}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/PearTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Class/Driver/PearTest.php
deleted file mode 100644 (file)
index 3be949e..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-/**
- * Test the Kolab mock driver.
- *
- * PHP version 5
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-
-/**
- * Prepare the test setup.
- */
-require_once dirname(__FILE__) . '/../../Autoload.php';
-
-/**
- * Test the Kolab mock driver.
- *
- * Copyright 2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category   Kolab
- * @package    Kolab_Storage
- * @subpackage UnitTests
- * @author     Gunnar Wrobel <wrobel@pardus.de>
- * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link       http://pear.horde.org/index.php?package=Kolab_Storage
- */
-class Horde_Kolab_Storage_Class_Driver_PearTest
-extends PHPUnit_Framework_TestCase
-{
-    public function setUp()
-    {
-        $this->group = new Horde_Group_Mock();
-    }
-
-    public function testGetNamespaceReturnsNamespaceHandler()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Pear(
-            $this->_getNamespaceMock(),
-            $this->group,
-            array()
-        );
-        $this->assertType(
-            'Horde_Kolab_Storage_Driver_Namespace',
-            $driver->getNamespace()
-        );
-    }
-
-    public function testGetNamespaceReturnsExpectedNamespaces()
-    {
-        $driver = new Horde_Kolab_Storage_Driver_Pear(
-            $this->_getNamespaceMock(),
-            $this->group,
-            array()
-        );
-        $namespaces = array();
-        foreach ($driver->getNamespace() as $namespace) {
-            $namespaces[$namespace->getName()] = array(
-                'type' => $namespace->getType(),
-                'delimiter' => $namespace->getDelimiter(),
-            );
-        }
-        $this->assertEquals(
-            array(
-                'INBOX' => array(
-                    'type' => 'personal',
-                    'delimiter' => '/',
-                ),
-                'user' => array(
-                    'type' => 'other',
-                    'delimiter' => '/',
-                ),
-                '' => array(
-                    'type' => 'shared',
-                    'delimiter' => '/',
-                ),
-            ),
-            $namespaces
-        );
-    }
-
-    private function _getNamespaceMock()
-    {
-        $imap = $this->getMock('Net_IMAP', array('hasCapability', 'getNameSpace'), array(), '', false, false);
-        $imap->expects($this->once())
-            ->method('hasCapability')
-            ->with('NAMESPACE')
-            ->will($this->returnValue(true));
-        $imap->expects($this->once())
-            ->method('getNamespace')
-            ->will(
-                $this->returnValue(
-                    array(
-                        'personal' => array(
-                            array(
-                                'name' => 'INBOX',
-                                'delimter' => '/',
-                            )
-                        ),
-                        'others' => array(
-                            array(
-                                'name' => 'user',
-                                'delimter' => '/',
-                            )
-                        ),
-                        'shared' => array(
-                            array(
-                                'name' => '',
-                                'delimter' => '/',
-                            )
-                        ),
-                    )
-                )
-            );
-        return $imap;
-    }
-}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/CclientTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/CclientTest.php
new file mode 100644 (file)
index 0000000..c1dd2da
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Test the Kolab mock driver.
+ *
+ * PHP version 5
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+
+/**
+ * Prepare the test setup.
+ */
+require_once dirname(__FILE__) . '/../../Autoload.php';
+
+/**
+ * Test the Kolab mock driver.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+class Horde_Kolab_Storage_Unit_Driver_CclientTest
+extends PHPUnit_Framework_TestCase
+{
+    public function setUp()
+    {
+        $this->group = new Horde_Group_Mock();
+    }
+
+    public function testGetNamespaceReturnsNamespaceHandler()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Cclient(
+            $this->group,
+            array()
+        );
+        $this->assertType(
+            'Horde_Kolab_Storage_Driver_Namespace',
+            $driver->getNamespace()
+        );
+    }
+
+    public function testGetNamespaceReturnsExpectedNamespaces()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Cclient(
+            $this->group,
+            array()
+        );
+        $namespaces = array();
+        foreach ($driver->getNamespace() as $namespace) {
+            $namespaces[$namespace->getName()] = array(
+                'type' => $namespace->getType(),
+                'delimiter' => $namespace->getDelimiter(),
+            );
+        }
+        $this->assertEquals(
+            array(
+                'INBOX' => array(
+                    'type' => 'personal',
+                    'delimiter' => '/',
+                ),
+                'user' => array(
+                    'type' => 'other',
+                    'delimiter' => '/',
+                ),
+                '' => array(
+                    'type' => 'shared',
+                    'delimiter' => '/',
+                ),
+            ),
+            $namespaces
+        );
+    }
+}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/ImapTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/ImapTest.php
new file mode 100644 (file)
index 0000000..70feffa
--- /dev/null
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Test the Kolab mock driver.
+ *
+ * PHP version 5
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+
+/**
+ * Prepare the test setup.
+ */
+require_once dirname(__FILE__) . '/../../Autoload.php';
+
+/**
+ * Test the Kolab mock driver.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+class Horde_Kolab_Storage_Unit_Driver_ImapTest
+extends PHPUnit_Framework_TestCase
+{
+    public function setUp()
+    {
+        $this->group = new Horde_Group_Mock();
+    }
+
+    public function testGetNamespaceReturnsNamespaceHandler()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Imap(
+            $this->_getNamespaceMock(),
+            $this->group,
+            array()
+        );
+        $this->assertType(
+            'Horde_Kolab_Storage_Driver_Namespace',
+            $driver->getNamespace()
+        );
+    }
+
+    public function testGetNamespaceReturnsExpectedNamespaces()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Imap(
+            $this->_getNamespaceMock(),
+            $this->group,
+            array()
+        );
+        $namespaces = array();
+        foreach ($driver->getNamespace() as $namespace) {
+            $namespaces[$namespace->getName()] = array(
+                'type' => $namespace->getType(),
+                'delimiter' => $namespace->getDelimiter(),
+            );
+        }
+        $this->assertEquals(
+            array(
+                'INBOX' => array(
+                    'type' => 'personal',
+                    'delimiter' => '/',
+                ),
+                'user' => array(
+                    'type' => 'other',
+                    'delimiter' => '/',
+                ),
+                '' => array(
+                    'type' => 'shared',
+                    'delimiter' => '/',
+                ),
+            ),
+            $namespaces
+        );
+    }
+
+    private function _getNamespaceMock()
+    {
+        $imap = $this->getMock('Horde_Imap_Client_Socket', array(), array(), '', false, false);
+        $imap->expects($this->once())
+            ->method('queryCapability')
+            ->with('NAMESPACE')
+            ->will($this->returnValue(true));
+        $imap->expects($this->once())
+            ->method('getNamespaces')
+            ->will(
+                $this->returnValue(
+                    array(
+                        array(
+                            'type' => 'personal',
+                            'name' => 'INBOX',
+                            'delimiter' => '/',
+                        ),
+                        array(
+                            'type' => 'other',
+                            'name' => 'user',
+                            'delimiter' => '/',
+                        ),
+                        array(
+                            'type' => 'shared',
+                            'name' => '',
+                            'delimiter' => '/',
+                        ),
+                    )
+                )
+            );
+        return $imap;
+    }
+}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/MockTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/MockTest.php
new file mode 100644 (file)
index 0000000..fc57f3c
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Test the Kolab mock driver.
+ *
+ * PHP version 5
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+
+/**
+ * Prepare the test setup.
+ */
+require_once dirname(__FILE__) . '/../../Autoload.php';
+
+/**
+ * Test the Kolab mock driver.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+class Horde_Kolab_Storage_Unit_Driver_MockTest
+extends PHPUnit_Framework_TestCase
+{
+    public function setUp()
+    {
+        $this->group = new Horde_Group_Mock();
+    }
+
+    public function testGetAnnotationReturnsAnnotationValue()
+    {
+        $this->markTestIncomplete();
+
+        $data = array();
+        $data['INBOX/Contacts']['annotations']['/vendor/kolab/folder-type']['value.shared'] = 'contact.default';
+        $driver = new Horde_Kolab_Storage_Driver_Mock(
+            $this->group,
+            $data
+        );
+        $this->assertEquals(
+            'contact.default',
+            $driver->getAnnotation('/vendor/kolab/folder-type', 'value.shared', 'INBOX/Contacts')
+        );
+    }
+
+    public function testGetNamespaceReturnsNamespaceHandler()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Mock(
+            $this->group,
+            array()
+        );
+        $this->assertType(
+            'Horde_Kolab_Storage_Driver_Namespace',
+            $driver->getNamespace()
+        );
+    }
+
+    public function testGetNamespaceReturnsExpectedNamespaces()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Mock(
+            $this->group,
+            array()
+        );
+        $namespaces = array();
+        foreach ($driver->getNamespace() as $namespace) {
+            $namespaces[$namespace->getName()] = array(
+                'type' => $namespace->getType(),
+                'delimiter' => $namespace->getDelimiter(),
+            );
+        }
+        $this->assertEquals(
+            array(
+                'INBOX' => array(
+                    'type' => 'personal',
+                    'delimiter' => '/',
+                ),
+                'user' => array(
+                    'type' => 'other',
+                    'delimiter' => '/',
+                ),
+                '' => array(
+                    'type' => 'shared',
+                    'delimiter' => '/',
+                ),
+            ),
+            $namespaces
+        );
+    }
+}
diff --git a/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/PearTest.php b/framework/Kolab_Storage/test/Horde/Kolab/Storage/Unit/Driver/PearTest.php
new file mode 100644 (file)
index 0000000..fcb630c
--- /dev/null
@@ -0,0 +1,124 @@
+<?php
+/**
+ * Test the Kolab mock driver.
+ *
+ * PHP version 5
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+
+/**
+ * Prepare the test setup.
+ */
+require_once dirname(__FILE__) . '/../../Autoload.php';
+
+/**
+ * Test the Kolab mock driver.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category   Kolab
+ * @package    Kolab_Storage
+ * @subpackage UnitTests
+ * @author     Gunnar Wrobel <wrobel@pardus.de>
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link       http://pear.horde.org/index.php?package=Kolab_Storage
+ */
+class Horde_Kolab_Storage_Unit_Driver_PearTest
+extends PHPUnit_Framework_TestCase
+{
+    public function setUp()
+    {
+        $this->group = new Horde_Group_Mock();
+    }
+
+    public function testGetNamespaceReturnsNamespaceHandler()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Pear(
+            $this->_getNamespaceMock(),
+            $this->group,
+            array()
+        );
+        $this->assertType(
+            'Horde_Kolab_Storage_Driver_Namespace',
+            $driver->getNamespace()
+        );
+    }
+
+    public function testGetNamespaceReturnsExpectedNamespaces()
+    {
+        $driver = new Horde_Kolab_Storage_Driver_Pear(
+            $this->_getNamespaceMock(),
+            $this->group,
+            array()
+        );
+        $namespaces = array();
+        foreach ($driver->getNamespace() as $namespace) {
+            $namespaces[$namespace->getName()] = array(
+                'type' => $namespace->getType(),
+                'delimiter' => $namespace->getDelimiter(),
+            );
+        }
+        $this->assertEquals(
+            array(
+                'INBOX' => array(
+                    'type' => 'personal',
+                    'delimiter' => '/',
+                ),
+                'user' => array(
+                    'type' => 'other',
+                    'delimiter' => '/',
+                ),
+                '' => array(
+                    'type' => 'shared',
+                    'delimiter' => '/',
+                ),
+            ),
+            $namespaces
+        );
+    }
+
+    private function _getNamespaceMock()
+    {
+        $imap = $this->getMock('Net_IMAP', array('hasCapability', 'getNameSpace'), array(), '', false, false);
+        $imap->expects($this->once())
+            ->method('hasCapability')
+            ->with('NAMESPACE')
+            ->will($this->returnValue(true));
+        $imap->expects($this->once())
+            ->method('getNamespace')
+            ->will(
+                $this->returnValue(
+                    array(
+                        'personal' => array(
+                            array(
+                                'name' => 'INBOX',
+                                'delimter' => '/',
+                            )
+                        ),
+                        'others' => array(
+                            array(
+                                'name' => 'user',
+                                'delimter' => '/',
+                            )
+                        ),
+                        'shared' => array(
+                            array(
+                                'name' => '',
+                                'delimter' => '/',
+                            )
+                        ),
+                    )
+                )
+            );
+        return $imap;
+    }
+}