From 7998689bc9eb075813f6ae3ab3025f3932591e95 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Mon, 24 Oct 2016 09:44:33 +0200 Subject: [PATCH] Added method to DB and fix test Signed-off-by: Roeland Jago Douma --- lib/private/AppFramework/Db/Db.php | 11 +++++++++++ tests/lib/Files/PathVerificationTest.php | 10 ++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/private/AppFramework/Db/Db.php b/lib/private/AppFramework/Db/Db.php index 5fea09747a..450549ffdb 100644 --- a/lib/private/AppFramework/Db/Db.php +++ b/lib/private/AppFramework/Db/Db.php @@ -31,6 +31,7 @@ use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDb; use OCP\IDBConnection; use OCP\PreConditionNotMetException; +use Doctrine\DBAL\Platforms\MySqlPlatform; /** * @deprecated use IDBConnection directly, will be removed in ownCloud 10 @@ -300,4 +301,14 @@ class Db implements IDb { public function escapeLikeParameter($param) { return $this->connection->escapeLikeParameter($param); } + + /** + * Check whether or not the current database support 4byte wide unicode + * + * @return bool + * @since 9.2.0 + */ + public function supports4ByteText() { + return $this->connection->supports4ByteText(); + } } diff --git a/tests/lib/Files/PathVerificationTest.php b/tests/lib/Files/PathVerificationTest.php index 992734bdec..12285bb7ac 100644 --- a/tests/lib/Files/PathVerificationTest.php +++ b/tests/lib/Files/PathVerificationTest.php @@ -9,6 +9,7 @@ namespace Test\Files; use OC\Files\Storage\Local; use OC\Files\View; +use OCP\Files\InvalidPathException; /** * Class PathVerificationTest @@ -79,10 +80,15 @@ class PathVerificationTest extends \Test\TestCase { /** * @dataProvider providesAstralPlane - * @expectedException \OCP\Files\InvalidPathException - * @expectedExceptionMessage 4-byte characters are not supported in file names */ public function testPathVerificationAstralPlane($fileName) { + $connection = \OC::$server->getDatabaseConnection(); + + if (!$connection->supports4ByteText()) { + $this->expectException(InvalidPathException::class); + $this->expectExceptionMessage('4-byte characters are not supported in file names'); + } + $this->view->verifyPath('', $fileName); }