Test creating folders in non-personal namespaces (deprecated).
authorGunnar Wrobel <p@rdus.de>
Mon, 15 Mar 2010 08:30:02 +0000 (09:30 +0100)
committerGunnar Wrobel <wrobel@temple.(none)>
Mon, 15 Mar 2010 10:33:25 +0000 (11:33 +0100)
framework/Kolab_Storage/lib/Horde/Kolab/Storage/Namespace.php
framework/Kolab_Storage/test/Horde/Kolab/Storage/NamespaceTest.php

index cb7941a..56ee6ca 100644 (file)
@@ -190,8 +190,8 @@ class Horde_Kolab_Storage_Namespace
         $namespace = $this->matchNamespace($name);
         $path = explode(':', $name);
         if (empty($this->_sharedPrefix)
-            || strpos($path[0], $this->_sharedPrefix) === false
-            || in_array($path[0], array_keys($this->_namespaces[self::OTHER]))) {
+            || (strpos($path[0], $this->_sharedPrefix) === false
+                && !in_array($path[0], array_keys($this->_namespaces[self::OTHER])))) {
             $namespace = $this->_getPrimaryPersonalNamespace();
             array_unshift($path, $namespace['namespace']);
         } else {
index a256961..9922c2e 100644 (file)
@@ -158,6 +158,22 @@ class Horde_Kolab_Storage_NamespaceTest extends PHPUnit_Framework_TestCase
         );
     }
 
+    public function testSetnameAllowsCreatingFoldersInSharedNamespace()
+    {
+        $folder = new Horde_Kolab_Storage_Folder(null);
+        $folder->restore($this->_storage, $this->_connection, new Horde_Kolab_Storage_Namespace());
+        $folder->setName('shared.test');
+        $this->assertEquals('shared.test', $folder->getName());
+    }
+
+    public function testSetnameAllowsCreatingFoldersInOthersNamespace()
+    {
+        $folder = new Horde_Kolab_Storage_Folder(null);
+        $folder->restore($this->_storage, $this->_connection, new Horde_Kolab_Storage_Namespace());
+        $folder->setName('user:test:test');
+        $this->assertEquals('user/test/test', $folder->getName());
+    }
+
     public function testFolderSubpathIsAccessibleForNewFolders()
     {
         $folder = new Horde_Kolab_Storage_Folder(null);