From c0c4443ffc6608ea2917a9c5bec1c0150a94b404 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?=
 <skjnldsv@protonmail.com>
Date: Thu, 28 Dec 2017 14:19:13 +0100
Subject: [PATCH] Fixed tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
---
 lib/private/Template/SCSSCacher.php   |  2 +-
 tests/lib/LegacyHelperTest.php        | 11 +++++++++++
 tests/lib/Template/SCSSCacherTest.php | 24 +++++++++++++-----------
 tests/lib/UrlGeneratorTest.php        | 10 ++++++++--
 4 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/lib/private/Template/SCSSCacher.php b/lib/private/Template/SCSSCacher.php
index ddd0131eac2..a4604425544 100644
--- a/lib/private/Template/SCSSCacher.php
+++ b/lib/private/Template/SCSSCacher.php
@@ -320,7 +320,7 @@ class SCSSCacher {
 	 */
 	private function getWebDir($path, $appName, $serverRoot, $webRoot) {
 		// Detect if path is within server root AND if path is within an app path
-		if ( !strpos($path, $serverRoot) && $appWebPath = \OC_App::getAppWebPath($appName) ) {
+		if ( strpos($path, $serverRoot) === false && $appWebPath = \OC_App::getAppWebPath($appName)) {
 			// Get the file path within the app directory
 			$appDirectoryPath = explode($appName, $path)[1];
 			// Remove the webroot
diff --git a/tests/lib/LegacyHelperTest.php b/tests/lib/LegacyHelperTest.php
index f1e22ea600e..736c5bf7fad 100644
--- a/tests/lib/LegacyHelperTest.php
+++ b/tests/lib/LegacyHelperTest.php
@@ -12,6 +12,17 @@ use OC\Files\View;
 use OC_Helper;
 
 class LegacyHelperTest extends \Test\TestCase {
+	/** @var string */
+	private $originalWebRoot;
+
+	public function setUp() {
+		$this->originalWebRoot = \OC::$WEBROOT;
+	}
+
+	public function tearDown() {
+		// Reset webRoot
+		\OC::$WEBROOT = $this->originalWebRoot;
+	}
 
 	/**
 	 * @dataProvider humanFileSizeProvider
diff --git a/tests/lib/Template/SCSSCacherTest.php b/tests/lib/Template/SCSSCacherTest.php
index 7a1c5829258..fca9500810e 100644
--- a/tests/lib/Template/SCSSCacherTest.php
+++ b/tests/lib/Template/SCSSCacherTest.php
@@ -384,17 +384,6 @@ class SCSSCacherTest extends \Test\TestCase {
 		$this->assertEquals(substr($result, 1), $actual);
 	}
 
-	public function dataGetWebDir() {
-		return [
-			['/http/core/css', 'core', '', '/http', '/core/css'],
-			['/http/apps/test/css', 'test', '', '/http', '/apps/test/css'],
-			['/http/nextcloud/core/css', 'core', '/nextcloud', '/http/nextcloud', '/nextcloud/core/css'],
-			['/http/nextcloud/apps/test/css', 'test', '/nextcloud', '/http/nextcloud', '/nextcloud/apps/test/css'],
-			['/srv/apps2/test/css', 'test', '', '/http', '/apps2/test/css'],
-			['/srv/apps2/test/css', 'test', '/nextcloud', '/http/nextcloud', '/apps2/test/css']
-		];
-	}
-
 	private function randomString() {
 		return sha1(uniqid(mt_rand(), true));
 	}
@@ -411,6 +400,19 @@ class SCSSCacherTest extends \Test\TestCase {
 		return rmdir($directory);
 	}
 
+	public function dataGetWebDir() {
+		return [
+			// Root installation
+			['/http/core/css', 		'core', '', '/http', '/core/css'],
+			['/http/apps/scss/css', 'scss', '', '/http', '/apps/scss/css'],
+			['/srv/apps2/scss/css', 'scss', '', '/http', '/apps2/scss/css'],
+			// Sub directory install
+			['/http/nextcloud/core/css', 	  'core', 	'/nextcloud', '/http/nextcloud', '/nextcloud/core/css'],
+			['/http/nextcloud/apps/scss/css', 'scss', 	'/nextcloud', '/http/nextcloud', '/nextcloud/apps/scss/css'],
+			['/srv/apps2/scss/css', 		  'scss', 	'/nextcloud', '/http/nextcloud', '/apps2/scss/css']
+		];
+	}
+
 	/**
 	 * @param $path
 	 * @param $appName
diff --git a/tests/lib/UrlGeneratorTest.php b/tests/lib/UrlGeneratorTest.php
index 69067f51e08..340c9c7082d 100644
--- a/tests/lib/UrlGeneratorTest.php
+++ b/tests/lib/UrlGeneratorTest.php
@@ -27,6 +27,8 @@ class UrlGeneratorTest extends \Test\TestCase {
 	private $request;
 	/** @var IURLGenerator */
 	private $urlGenerator;
+	/** @var string */
+	private $originalWebRoot;
 
 	public function setUp() {
 		parent::setUp();
@@ -38,6 +40,12 @@ class UrlGeneratorTest extends \Test\TestCase {
 			$this->cacheFactory,
 			$this->request
 		);
+		$this->originalWebRoot = \OC::$WEBROOT;
+	}
+
+	public function tearDown() {
+		// Reset webRoot
+		\OC::$WEBROOT = $this->originalWebRoot;
 	}
 
 	private function mockBaseUrl() {
@@ -47,7 +55,6 @@ class UrlGeneratorTest extends \Test\TestCase {
 		$this->request->expects($this->once())
 			->method('getServerHost')
 			->willReturn('localhost');
-
 	}
 
 	/**
@@ -156,4 +163,3 @@ class UrlGeneratorTest extends \Test\TestCase {
 	}
 
 }
-
-- 
GitLab