From: Joas Schilling Date: Mon, 25 Aug 2014 10:21:19 +0000 (+0200) Subject: Add a test to break the slugifyPath() with folder and file afterwards X-Git-Tag: v8.0.0alpha1~830^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=51c9b3c62df71fd70089ff0cf302bab75fef537b;p=nextcloud-server.git Add a test to break the slugifyPath() with folder and file afterwards --- diff --git a/tests/lib/files/mapper.php b/tests/lib/files/mapper.php index 48ae95b7e72..0e3e56871cb 100644 --- a/tests/lib/files/mapper.php +++ b/tests/lib/files/mapper.php @@ -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); } }