|
|
|
|
@ -290,4 +290,72 @@ class Test_Util extends PHPUnit_Framework_TestCase {
|
|
|
|
|
array(array('g1', 'g2', 'g3'), array('g1', 'g2'), array('g1', 'g2', 'g3'), true),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Test default apps
|
|
|
|
|
*
|
|
|
|
|
* @dataProvider defaultAppsProvider
|
|
|
|
|
*/
|
|
|
|
|
function testDefaultApps($defaultAppConfig, $expectedPath, $enabledApps) {
|
|
|
|
|
$oldDefaultApps = \OCP\Config::getSystemValue('core', 'defaultapp', '');
|
|
|
|
|
// CLI is doing messy stuff with the webroot, so need to work it around
|
|
|
|
|
$oldWebRoot = \OC::$WEBROOT;
|
|
|
|
|
\OC::$WEBROOT = '';
|
|
|
|
|
|
|
|
|
|
Dummy_OC_App::setEnabledApps($enabledApps);
|
|
|
|
|
\OCP\Config::setSystemValue('defaultapp', $defaultAppConfig);
|
|
|
|
|
$this->assertEquals('http://localhost/' . $expectedPath, \OC_Util::getDefaultPageUrl());
|
|
|
|
|
|
|
|
|
|
// restore old state
|
|
|
|
|
\OC::$WEBROOT = $oldWebRoot;
|
|
|
|
|
Dummy_OC_App::restore();
|
|
|
|
|
\OCP\Config::setSystemValue('defaultapp', $oldDefaultApps);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function defaultAppsProvider() {
|
|
|
|
|
return array(
|
|
|
|
|
// none specified, default to files
|
|
|
|
|
array(
|
|
|
|
|
'',
|
|
|
|
|
'index.php/apps/files/',
|
|
|
|
|
array('files'),
|
|
|
|
|
),
|
|
|
|
|
// unexisting or inaccessible app specified, default to files
|
|
|
|
|
array(
|
|
|
|
|
'unexist',
|
|
|
|
|
'index.php/apps/files/',
|
|
|
|
|
array('files'),
|
|
|
|
|
),
|
|
|
|
|
// non-standard app
|
|
|
|
|
array(
|
|
|
|
|
'calendar',
|
|
|
|
|
'index.php/apps/calendar/',
|
|
|
|
|
array('files', 'calendar'),
|
|
|
|
|
),
|
|
|
|
|
// non-standard app with fallback
|
|
|
|
|
array(
|
|
|
|
|
'contacts,calendar',
|
|
|
|
|
'index.php/apps/calendar/',
|
|
|
|
|
array('files', 'calendar'),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Dummy OC Apps class to make it possible to override
|
|
|
|
|
* enabled apps
|
|
|
|
|
*/
|
|
|
|
|
class Dummy_OC_App extends OC_App {
|
|
|
|
|
private static $enabledAppsCacheBackup;
|
|
|
|
|
|
|
|
|
|
public static function setEnabledApps($enabledApps) {
|
|
|
|
|
self::$enabledAppsCacheBackup = self::$enabledAppsCache;
|
|
|
|
|
self::$enabledAppsCache = $enabledApps;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static function restore() {
|
|
|
|
|
self::$enabledAppsCache = self::$enabledAppsCacheBackup;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|