Add unit tests for convertToRelativePath

This commit is contained in:
Lukas Reschke 2014-10-15 13:43:04 +02:00
parent 7b94c7f9c1
commit 8f8abdbaee
2 changed files with 45 additions and 1 deletions

View File

@ -245,7 +245,7 @@ class OC_Request {
* @return string Path info or false when not found
*/
public static function getRawPathInfo() {
$requestUri = $_SERVER['REQUEST_URI'];
$requestUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
// remove too many leading slashes - can be caused by reverse proxy configuration
if (strpos($requestUri, '/') === 0) {
$requestUri = '/' . ltrim($requestUri, '/');

View File

@ -0,0 +1,44 @@
<?php
/**
* Copyright (c) 2014 Lukas Reschke <lukas@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace OC\Test;
/**
* @package OC\Test
*/
class OC_TemplateLayout extends \PHPUnit_Framework_TestCase {
/**
* Contains valid file paths in the scheme array($absolutePath, $expectedPath)
* @return array
*/
public function validFilePathProvider() {
return array(
array(\OC::$SERVERROOT . '/apps/files/js/fancyJS.js', '/apps/files/js/fancyJS.js'),
array(\OC::$SERVERROOT. '/test.js', '/test.js'),
array(\OC::$SERVERROOT . '/core/test.js', '/core/test.js'),
array(\OC::$SERVERROOT, ''),
);
}
/**
* @dataProvider validFilePathProvider
*/
public function testConvertToRelativePath($absolutePath, $expected) {
$relativePath = \Test_Helper::invokePrivate(new \OC_TemplateLayout('user'), 'convertToRelativePath', array($absolutePath));
$this->assertEquals($expected, $relativePath);
}
/**
* @expectedException \Exception
* @expectedExceptionMessage $filePath is not under the \OC::$SERVERROOT
*/
public function testInvalidConvertToRelativePath() {
\Test_Helper::invokePrivate(new \OC_TemplateLayout('user'), 'convertToRelativePath', array('/this/file/is/invalid'));
}
}