Browse Source
Automatic injection for JsController
Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/4783/head
Joas Schilling
9 years ago
No known key found for this signature in database
GPG Key ID: E166FD8976B3BAC8
3 changed files with
13 additions and
13 deletions
-
core/Application.php
-
core/Controller/JsController.php
-
tests/Core/Controller/JsControllerTest.php
|
|
|
@ -30,7 +30,6 @@ |
|
|
|
|
|
|
|
namespace OC\Core; |
|
|
|
|
|
|
|
use OC\Core\Controller\JsController; |
|
|
|
use OC\Security\IdentityProof\Manager; |
|
|
|
use OCP\AppFramework\App; |
|
|
|
use OC\Core\Controller\CssController; |
|
|
|
@ -67,13 +66,5 @@ class Application extends App { |
|
|
|
$container->query(ITimeFactory::class) |
|
|
|
); |
|
|
|
}); |
|
|
|
$container->registerService(JsController::class, function () use ($container) { |
|
|
|
return new JsController( |
|
|
|
$container->query('AppName'), |
|
|
|
$container->query(IRequest::class), |
|
|
|
$container->getServer()->getAppDataDir('js'), |
|
|
|
$container->query(ITimeFactory::class) |
|
|
|
); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -22,6 +22,7 @@ |
|
|
|
*/ |
|
|
|
namespace OC\Core\Controller; |
|
|
|
|
|
|
|
use OC\Files\AppData\Factory; |
|
|
|
use OCP\AppFramework\Controller; |
|
|
|
use OCP\AppFramework\Http; |
|
|
|
use OCP\AppFramework\Http\NotFoundResponse; |
|
|
|
@ -44,13 +45,13 @@ class JsController extends Controller { |
|
|
|
/** |
|
|
|
* @param string $appName |
|
|
|
* @param IRequest $request |
|
|
|
* @param IAppData $appData |
|
|
|
* @param Factory $appDataFactory |
|
|
|
* @param ITimeFactory $timeFactory |
|
|
|
*/ |
|
|
|
public function __construct($appName, IRequest $request, IAppData $appData, ITimeFactory $timeFactory) { |
|
|
|
public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) { |
|
|
|
parent::__construct($appName, $request); |
|
|
|
|
|
|
|
$this->appData = $appData; |
|
|
|
$this->appData = $appDataFactory->get('js'); |
|
|
|
$this->timeFactory = $timeFactory; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -23,6 +23,7 @@ |
|
|
|
namespace Tests\Core\Controller; |
|
|
|
|
|
|
|
use OC\Core\Controller\JsController; |
|
|
|
use OC\Files\AppData\Factory; |
|
|
|
use OCP\AppFramework\Http; |
|
|
|
use OCP\AppFramework\Http\FileDisplayResponse; |
|
|
|
use OCP\AppFramework\Http\NotFoundResponse; |
|
|
|
@ -48,8 +49,15 @@ class JsControllerTest extends TestCase { |
|
|
|
public function setUp() { |
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
/** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */ |
|
|
|
$factory = $this->createMock(Factory::class); |
|
|
|
$this->appData = $this->createMock(IAppData::class); |
|
|
|
$factory->expects($this->once()) |
|
|
|
->method('get') |
|
|
|
->with('js') |
|
|
|
->willReturn($this->appData); |
|
|
|
|
|
|
|
/** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject $timeFactory */ |
|
|
|
$timeFactory = $this->createMock(ITimeFactory::class); |
|
|
|
$timeFactory->method('getTime') |
|
|
|
->willReturn(1337); |
|
|
|
@ -59,7 +67,7 @@ class JsControllerTest extends TestCase { |
|
|
|
$this->controller = new JsController( |
|
|
|
'core', |
|
|
|
$this->request, |
|
|
|
$this->appData, |
|
|
|
$factory, |
|
|
|
$timeFactory |
|
|
|
); |
|
|
|
} |
|
|
|
|