diff options
Diffstat (limited to 'tests/lib/Files/FilesystemTest.php')
-rw-r--r-- | tests/lib/Files/FilesystemTest.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/lib/Files/FilesystemTest.php b/tests/lib/Files/FilesystemTest.php index a4a4345d2f9..76e3f471633 100644 --- a/tests/lib/Files/FilesystemTest.php +++ b/tests/lib/Files/FilesystemTest.php @@ -92,6 +92,7 @@ class FilesystemTest extends \Test\TestCase { } $this->logout(); + $this->invokePrivate('\OC\Files\Filesystem', 'normalizedPathCache', [null]); parent::tearDown(); } @@ -190,6 +191,32 @@ class FilesystemTest extends \Test\TestCase { $this->assertEquals($expected, \OC\Files\Filesystem::normalizePath($path, $stripTrailingSlash)); } + public function normalizePathKeepUnicodeData() { + $nfdName = 'ümlaut'; + $nfcName = 'ümlaut'; + return [ + ['/' . $nfcName, $nfcName, true], + ['/' . $nfcName, $nfcName, false], + ['/' . $nfdName, $nfdName, true], + ['/' . $nfcName, $nfdName, false], + ]; + } + + /** + * @dataProvider normalizePathKeepUnicodeData + */ + public function testNormalizePathKeepUnicode($expected, $path, $keepUnicode = false) { + $this->assertEquals($expected, \OC\Files\Filesystem::normalizePath($path, true, false, $keepUnicode)); + } + + public function testNormalizePathKeepUnicodeCache() { + $nfdName = 'ümlaut'; + $nfcName = 'ümlaut'; + // call in succession due to cache + $this->assertEquals('/' . $nfcName, \OC\Files\Filesystem::normalizePath($nfdName, true, false, false)); + $this->assertEquals('/' . $nfdName, \OC\Files\Filesystem::normalizePath($nfdName, true, false, true)); + } + public function isValidPathData() { return array( array('/', true), |