From 7998689bc9eb075813f6ae3ab3025f3932591e95 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Mon, 24 Oct 2016 09:44:33 +0200
Subject: [PATCH] Added method to DB and fix test

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 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 5fea09747af..450549ffdbb 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 992734bdece..12285bb7acd 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);
 	}
 
-- 
GitLab