diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-19 09:38:52 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-19 09:38:52 +0200 |
commit | 9a4253ef7c34f9dc71a6a9f7828a10df769f0c32 (patch) | |
tree | febe8415af243c7f69867d095a3f281c65071d40 /tests/lib/UrlGeneratorTest.php | |
parent | 55fc6536d33bd044a72437ac61d3c5ade09111cb (diff) | |
download | nextcloud-server-9a4253ef7c34f9dc71a6a9f7828a10df769f0c32.tar.gz nextcloud-server-9a4253ef7c34f9dc71a6a9f7828a10df769f0c32.zip |
Fix lib/
Diffstat (limited to 'tests/lib/UrlGeneratorTest.php')
-rw-r--r-- | tests/lib/UrlGeneratorTest.php | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/tests/lib/UrlGeneratorTest.php b/tests/lib/UrlGeneratorTest.php new file mode 100644 index 00000000000..7186c8fad80 --- /dev/null +++ b/tests/lib/UrlGeneratorTest.php @@ -0,0 +1,134 @@ +<?php +/** + * Copyright (c) 2014 Bjoern Schiessle <schiessle@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +/** + * Class UrlGeneratorTest + * + * @group DB + */ +class UrlGeneratorTest extends \Test\TestCase { + + /** + * @small + * test linkTo URL construction + * @dataProvider provideDocRootAppUrlParts + */ + public function testLinkToDocRoot($app, $file, $args, $expectedResult) { + \OC::$WEBROOT = ''; + $config = $this->getMock('\OCP\IConfig'); + $cacheFactory = $this->getMock('\OCP\ICacheFactory'); + $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); + $result = $urlGenerator->linkTo($app, $file, $args); + + $this->assertEquals($expectedResult, $result); + } + + /** + * @small + * test linkTo URL construction in sub directory + * @dataProvider provideSubDirAppUrlParts + */ + public function testLinkToSubDir($app, $file, $args, $expectedResult) { + \OC::$WEBROOT = '/owncloud'; + $config = $this->getMock('\OCP\IConfig'); + $cacheFactory = $this->getMock('\OCP\ICacheFactory'); + $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); + $result = $urlGenerator->linkTo($app, $file, $args); + + $this->assertEquals($expectedResult, $result); + } + + /** + * @dataProvider provideRoutes + */ + public function testLinkToRouteAbsolute($route, $expected) { + \OC::$WEBROOT = '/owncloud'; + $config = $this->getMock('\OCP\IConfig'); + $cacheFactory = $this->getMock('\OCP\ICacheFactory'); + $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); + $result = $urlGenerator->linkToRouteAbsolute($route); + $this->assertEquals($expected, $result); + + } + + public function provideRoutes() { + return array( + array('files_ajax_list', 'http://localhost/owncloud/index.php/apps/files/ajax/list.php'), + array('core_ajax_preview', 'http://localhost/owncloud/index.php/core/preview.png'), + ); + } + + public function provideDocRootAppUrlParts() { + return array( + array('files', 'ajax/list.php', array(), '/index.php/apps/files/ajax/list.php'), + array('files', 'ajax/list.php', array('trut' => 'trat', 'dut' => 'dat'), '/index.php/apps/files/ajax/list.php?trut=trat&dut=dat'), + array('', 'index.php', array('trut' => 'trat', 'dut' => 'dat'), '/index.php?trut=trat&dut=dat'), + ); + } + + public function provideSubDirAppUrlParts() { + return array( + array('files', 'ajax/list.php', array(), '/owncloud/index.php/apps/files/ajax/list.php'), + array('files', 'ajax/list.php', array('trut' => 'trat', 'dut' => 'dat'), '/owncloud/index.php/apps/files/ajax/list.php?trut=trat&dut=dat'), + array('', 'index.php', array('trut' => 'trat', 'dut' => 'dat'), '/owncloud/index.php?trut=trat&dut=dat'), + ); + } + + /** + * @small + * test absolute URL construction + * @dataProvider provideDocRootURLs + */ + function testGetAbsoluteURLDocRoot($url, $expectedResult) { + + \OC::$WEBROOT = ''; + $config = $this->getMock('\OCP\IConfig'); + $cacheFactory = $this->getMock('\OCP\ICacheFactory'); + $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); + $result = $urlGenerator->getAbsoluteURL($url); + + $this->assertEquals($expectedResult, $result); + } + + /** + * @small + * test absolute URL construction + * @dataProvider provideSubDirURLs + */ + function testGetAbsoluteURLSubDir($url, $expectedResult) { + + \OC::$WEBROOT = '/owncloud'; + $config = $this->getMock('\OCP\IConfig'); + $cacheFactory = $this->getMock('\OCP\ICacheFactory'); + $urlGenerator = new \OC\URLGenerator($config, $cacheFactory); + $result = $urlGenerator->getAbsoluteURL($url); + + $this->assertEquals($expectedResult, $result); + } + + public function provideDocRootURLs() { + return array( + array("index.php", "http://localhost/index.php"), + array("/index.php", "http://localhost/index.php"), + array("/apps/index.php", "http://localhost/apps/index.php"), + array("apps/index.php", "http://localhost/apps/index.php"), + ); + } + + public function provideSubDirURLs() { + return array( + array("index.php", "http://localhost/owncloud/index.php"), + array("/index.php", "http://localhost/owncloud/index.php"), + array("/apps/index.php", "http://localhost/owncloud/apps/index.php"), + array("apps/index.php", "http://localhost/owncloud/apps/index.php"), + ); + } +} + |