diff options
-rw-r--r-- | lib/private/appframework/dependencyinjection/dicontainer.php | 1 | ||||
-rw-r--r-- | lib/private/server.php | 1 | ||||
-rw-r--r-- | tests/lib/appframework/routing/RoutingTest.php | 30 | ||||
-rw-r--r-- | tests/lib/appframework/utility/SimpleContainerTest.php | 8 |
4 files changed, 28 insertions, 12 deletions
diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php index d32bead1f05..a1472c93226 100644 --- a/lib/private/appframework/dependencyinjection/dicontainer.php +++ b/lib/private/appframework/dependencyinjection/dicontainer.php @@ -55,6 +55,7 @@ class DIContainer extends SimpleContainer implements IAppContainer { * @param string $appName the name of the app */ public function __construct($appName, $urlParams = array()){ + parent::__construct(); $this['AppName'] = $appName; $this['urlParams'] = $urlParams; diff --git a/lib/private/server.php b/lib/private/server.php index 452a9ff489e..14ddfae54b6 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -37,6 +37,7 @@ class Server extends SimpleContainer implements IServerContainer { * @param string $webRoot */ function __construct($webRoot) { + parent::__construct(); $this->webRoot = $webRoot; $this->registerService('ContactsManager', function ($c) { diff --git a/tests/lib/appframework/routing/RoutingTest.php b/tests/lib/appframework/routing/RoutingTest.php index 4ee3ed58807..51c191fdfb7 100644 --- a/tests/lib/appframework/routing/RoutingTest.php +++ b/tests/lib/appframework/routing/RoutingTest.php @@ -120,7 +120,8 @@ class RoutingTest extends \Test\TestCase } // route mocks - $route = $this->mockRoute($verb, $controllerName, $actionName, $requirements, $defaults); + $container = new DIContainer('app1'); + $route = $this->mockRoute($container, $verb, $controllerName, $actionName, $requirements, $defaults); // router mock $router = $this->getMock("\OC\Route\Router", array('create')); @@ -133,7 +134,6 @@ class RoutingTest extends \Test\TestCase ->will($this->returnValue($route)); // load route configuration - $container = new DIContainer('app1'); $config = new RouteConfig($container, $router, $routes); $config->register(); @@ -151,11 +151,12 @@ class RoutingTest extends \Test\TestCase $router = $this->getMock("\OC\Route\Router", array('create')); // route mocks - $indexRoute = $this->mockRoute('GET', $controllerName, 'index'); - $showRoute = $this->mockRoute('GET', $controllerName, 'show'); - $createRoute = $this->mockRoute('POST', $controllerName, 'create'); - $updateRoute = $this->mockRoute('PUT', $controllerName, 'update'); - $destroyRoute = $this->mockRoute('DELETE', $controllerName, 'destroy'); + $container = new DIContainer('app1'); + $indexRoute = $this->mockRoute($container, 'GET', $controllerName, 'index'); + $showRoute = $this->mockRoute($container, 'GET', $controllerName, 'show'); + $createRoute = $this->mockRoute($container, 'POST', $controllerName, 'create'); + $updateRoute = $this->mockRoute($container, 'PUT', $controllerName, 'update'); + $destroyRoute = $this->mockRoute($container, 'DELETE', $controllerName, 'destroy'); $urlWithParam = $url . '/{' . $paramName . '}'; @@ -191,21 +192,28 @@ class RoutingTest extends \Test\TestCase ->will($this->returnValue($destroyRoute)); // load route configuration - $container = new DIContainer('app1'); $config = new RouteConfig($container, $router, $yaml); $config->register(); } /** + * @param DIContainer $container * @param string $verb * @param string $controllerName * @param string $actionName + * @param array $requirements + * @param array $defaults * @return \PHPUnit_Framework_MockObject_MockObject */ - private function mockRoute($verb, $controllerName, $actionName, array $requirements=array(), array $defaults=array()) - { - $container = new DIContainer('app1'); + private function mockRoute( + DIContainer $container, + $verb, + $controllerName, + $actionName, + array $requirements=array(), + array $defaults=array() + ) { $route = $this->getMock("\OC\Route\Route", array('method', 'action', 'requirements', 'defaults'), array(), '', false); $route ->expects($this->exactly(1)) diff --git a/tests/lib/appframework/utility/SimpleContainerTest.php b/tests/lib/appframework/utility/SimpleContainerTest.php index c5c522d911f..05abf76889e 100644 --- a/tests/lib/appframework/utility/SimpleContainerTest.php +++ b/tests/lib/appframework/utility/SimpleContainerTest.php @@ -153,7 +153,6 @@ class SimpleContainerTest extends \Test\TestCase { $this->assertEquals('abc', $object->test); } - /** * @expectedException \OCP\AppFramework\QueryException */ @@ -163,5 +162,12 @@ class SimpleContainerTest extends \Test\TestCase { ); } + public function testRegisterFactory() { + $this->container->registerService('test', function() { + return new \StdClass(); + }, false); + $this->assertNotSame( + $this->container->query('test'), $this->container->query('test')); + } } |