]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a test to break the slugifyPath() with folder and file afterwards
authorJoas Schilling <nickvergessen@gmx.de>
Mon, 25 Aug 2014 10:21:19 +0000 (12:21 +0200)
committerJoas Schilling <nickvergessen@gmx.de>
Mon, 25 Aug 2014 12:38:33 +0000 (14:38 +0200)
tests/lib/files/mapper.php

index 48ae95b7e72286ffdcd08a83c33b973135c406d2..0e3e56871cb0753276a31e4eaee41411c65a030b 100644 (file)
@@ -58,7 +58,20 @@ class Mapper extends \PHPUnit_Framework_TestCase {
                $this->assertEquals('D:/folder.name.with.peri-ods', $this->mapper->slugifyPath('D:/folder.name.with.peri ods'));
                $this->assertEquals('D:/folder.name.with.peri-ods/te-st-2.t-x-t', $this->mapper->slugifyPath('D:/folder.name.with.peri ods/te st.t x t', 2));
                $this->assertEquals('D:/folder.name.with.peri-ods/te-st.t-x-t', $this->mapper->slugifyPath('D:/folder.name.with.peri ods/te st.t x t'));
+       }
+
+       /**
+        * If a foldername is empty, after we stripped out some unicode and other characters,
+        * the resulting name must be reproducable otherwise uploading a file into that folder
+        * will not write the file into the same folder.
+        */
+       public function slugifyEmptyUnicodeFoldername() {
+               // Slugify the folder
+               $slugifiedFolder = $this->mapper->slugifyPath('D:/ありがとう');
+               $this->assertEquals('D:/' . md5('ありがとう'), $slugifiedFolder);
 
-               
+               // Slugify a file in the folder
+               $slugifiedFileInUtf8Folder = $this->mapper->slugifyPath('D:/ありがとう/issue6722.txt');
+               $this->assertEquals('D:/' . md5('ありがとう') . '/issue6722.txt', $slugifiedFileInUtf8Folder);
        }
 }