Merge pull request #774 from nextcloud/di_core_settings
Hanlde Core and Settings app in AppFramework
This commit is contained in:
commit
cb44bfe2b7
2 changed files with 58 additions and 1 deletions
|
@ -93,7 +93,13 @@ class App {
|
|||
try {
|
||||
$controller = $container->query($controllerName);
|
||||
} catch(QueryException $e) {
|
||||
$appNameSpace = self::buildAppNamespace($appName);
|
||||
if ($appName === 'core') {
|
||||
$appNameSpace = 'OC\\Core';
|
||||
} else if ($appName === 'settings') {
|
||||
$appNameSpace = 'OC\\Settings';
|
||||
} else {
|
||||
$appNameSpace = self::buildAppNamespace($appName);
|
||||
}
|
||||
$controllerName = $appNameSpace . '\\Controller\\' . $controllerName;
|
||||
$controller = $container->query($controllerName);
|
||||
}
|
||||
|
|
|
@ -162,4 +162,55 @@ class AppTest extends \Test\TestCase {
|
|||
App::main($this->controllerName, $this->controllerMethod, $this->container, []);
|
||||
}
|
||||
|
||||
public function testCoreApp() {
|
||||
$this->container['AppName'] = 'core';
|
||||
$this->container['OC\Core\Controller\Foo'] = $this->controller;
|
||||
|
||||
$return = array(null, array(), array(), null, new Response());
|
||||
$this->dispatcher->expects($this->once())
|
||||
->method('dispatch')
|
||||
->with($this->equalTo($this->controller),
|
||||
$this->equalTo($this->controllerMethod))
|
||||
->will($this->returnValue($return));
|
||||
|
||||
$this->io->expects($this->never())
|
||||
->method('setOutput');
|
||||
|
||||
App::main('Foo', $this->controllerMethod, $this->container);
|
||||
}
|
||||
|
||||
public function testSettingsApp() {
|
||||
$this->container['AppName'] = 'settings';
|
||||
$this->container['OC\Settings\Controller\Foo'] = $this->controller;
|
||||
|
||||
$return = array(null, array(), array(), null, new Response());
|
||||
$this->dispatcher->expects($this->once())
|
||||
->method('dispatch')
|
||||
->with($this->equalTo($this->controller),
|
||||
$this->equalTo($this->controllerMethod))
|
||||
->will($this->returnValue($return));
|
||||
|
||||
$this->io->expects($this->never())
|
||||
->method('setOutput');
|
||||
|
||||
App::main('Foo', $this->controllerMethod, $this->container);
|
||||
}
|
||||
|
||||
public function testApp() {
|
||||
$this->container['AppName'] = 'bar';
|
||||
$this->container['OCA\Bar\Controller\Foo'] = $this->controller;
|
||||
|
||||
$return = array(null, array(), array(), null, new Response());
|
||||
$this->dispatcher->expects($this->once())
|
||||
->method('dispatch')
|
||||
->with($this->equalTo($this->controller),
|
||||
$this->equalTo($this->controllerMethod))
|
||||
->will($this->returnValue($return));
|
||||
|
||||
$this->io->expects($this->never())
|
||||
->method('setOutput');
|
||||
|
||||
App::main('Foo', $this->controllerMethod, $this->container);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue