/** * @param Controller $controller * @param bool $stopPropagation * @return $this */ public function setController(Controller $controller, $stopPropagation = false) { if (!$stopPropagation) { $controller->addMethod($this, true); } $this->controller = $controller; return $this; }
public function testScenario4() { $namespace = 'Saxulum\\SaxulumControllerProvider\\Controller\\TestController'; $serviceId = 'saxulum.saxulumcontrollerprovider.controller.testcontroller'; $injectionKeys = array('twig'); $methodArray = array('name' => 'setDoctrine', 'injectionKeys' => array('doctrine')); $method = $this->getMock('Saxulum\\SaxulumControllerProvider\\Map\\Method'); $method->expects($this->any())->method('__toArray')->will($this->returnValue($methodArray)); $controller = new Controller(); $controller->setNamespace($namespace); $controller->setServiceId($serviceId); $controller->setInjectionKeys($injectionKeys); $controller->addMethod($method); $this->assertEquals($namespace, $controller->getNamespace()); $this->assertEquals($serviceId, $controller->getServiceId()); $this->assertEquals($injectionKeys, $controller->getInjectionKeys()); $this->assertTrue($controller->hasInjectionKeys()); $this->assertFalse($controller->isInjectContainer()); $this->assertTrue($controller->hasMethods()); $newController = new Controller($controller->__toArray()); $this->assertEquals($controller->__toArray(), $newController->__toArray()); }