예제 #1
0
 /**
  * Retrieve the templating service
  * 
  * @return \Symfony\Bundle\FrameworkBundle\Templating\DelegatingEngine
  */
 public function getTemplating()
 {
     if (defined('IN_MAUTIC_CONSOLE')) {
         //enter the request scope in order to be use the templating.helper.assets service
         $this->container->enterScope('request');
         $this->container->set('request', new Request(), 'request');
     }
     return $this->container->get('templating');
 }
 /**
  * {@inheritDoc}
  */
 public function setUp()
 {
     parent::setUp();
     $this->container = new Container();
     $this->container->addScope(new Scope('request'));
     $this->container->enterScope('request');
     $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface');
     $translator->expects($this->any())->method('getLocale')->will($this->returnValue('fr_FR'));
     $this->container->set('translator', $translator);
 }
예제 #3
0
 /**
  * @param Request $request
  *
  * @return Container
  */
 public function getContainer(Request $request = null)
 {
     $container = new Container();
     if ($request !== null) {
         $container->addScope(new Scope('request'));
         $container->enterScope('request');
         $container->set('request', $request);
     }
     return $container;
 }
 public function testReEnteringAScope()
 {
     $event = new Event();
     $service1 = $this->getMock('Symfony\\Component\\EventDispatcher\\Tests\\Service');
     $service1->expects($this->exactly(2))->method('onEvent')->with($event);
     $scope = new Scope('scope');
     $container = new Container();
     $container->addScope($scope);
     $container->enterScope('scope');
     $container->set('service.listener', $service1, 'scope');
     $dispatcher = new ContainerAwareEventDispatcher($container);
     $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
     $dispatcher->dispatch('onEvent', $event);
     $service2 = $this->getMock('Symfony\\Component\\EventDispatcher\\Tests\\Service');
     $service2->expects($this->once())->method('onEvent')->with($event);
     $container->enterScope('scope');
     $container->set('service.listener', $service2, 'scope');
     $dispatcher->dispatch('onEvent', $event);
     $container->leaveScope('scope');
     $dispatcher->dispatch('onEvent');
 }
 /**
  * Tests that the token is not added to a subrequest.
  */
 public function testTokenNotAddedToSubrequest()
 {
     /** @var HttpKernelInterface $kernel */
     $kernel = $this->getMockForAbstractClass('Symfony\\Component\\HttpKernel\\Kernel', ['test', false]);
     $request = new Request();
     $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::SUB_REQUEST);
     $listener = new RefererIdListener($this->mockTokenManager());
     $container = new Container();
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_BACKEND));
     $container->enterScope(ContaoCoreBundle::SCOPE_BACKEND);
     $listener->setContainer($container);
     $listener->onKernelRequest($event);
     $this->assertFalse($request->attributes->has('_contao_referer_id'));
 }
 /**
  * Tests that there is no repsonse if the scope is not "frontend".
  */
 public function testInvalidScope()
 {
     /** @var HttpKernelInterface $kernel */
     $kernel = $this->getMockForAbstractClass('Symfony\\Component\\HttpKernel\\Kernel', ['test', false]);
     $container = new Container();
     $request = new Request();
     $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
     $listener = new OutputFromCacheListener($this->framework);
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_BACKEND));
     $container->enterScope(ContaoCoreBundle::SCOPE_BACKEND);
     $request->attributes->set('_route', 'dummy');
     $listener->setContainer($container);
     $listener->onKernelRequest($event);
     $this->assertFalse($event->hasResponse());
 }
예제 #7
0
 /**
  * @group legacy
  */
 public function testIsScopeActive()
 {
     $c = new Container();
     $this->assertFalse($c->isScopeActive('foo'));
     $c->addScope(new Scope('foo'));
     $this->assertFalse($c->isScopeActive('foo'));
     $c->enterScope('foo');
     $this->assertTrue($c->isScopeActive('foo'));
     $c->leaveScope('foo');
     $this->assertFalse($c->isScopeActive('foo'));
 }
 /**
  * @covers Hearsay\RequireJSBundle\Twig\Extension\RequireJSExtension::getGlobals
  */
 public function testGetGlobalsInActiveRequestScope()
 {
     $this->container->addScope(new Scope('request'));
     $this->container->enterScope('request');
     $this->assertEquals(array('require_js' => array('config' => array())), $this->extension->getGlobals());
 }
 /**
  * Tests the supportsClass() method.
  */
 public function testSupportsClass()
 {
     $container = new Container();
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_FRONTEND));
     $container->enterScope(ContaoCoreBundle::SCOPE_FRONTEND);
     $provider = new ContaoUserProvider($container, $this->framework);
     $this->assertTrue($provider->supportsClass('Contao\\FrontendUser'));
 }
 /**
  * Tests the cookie path.
  */
 public function testCookiePath()
 {
     /** @var HttpKernelInterface $kernel */
     $kernel = $this->getMockForAbstractClass('Symfony\\Component\\HttpKernel\\Kernel', ['test', false]);
     $container = new Container();
     $request = new Request(['toggle_view' => 'desktop']);
     $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
     $listener = new ToggleViewListener($this->framework);
     $reflection = new \ReflectionClass($request);
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_FRONTEND));
     $container->enterScope(ContaoCoreBundle::SCOPE_FRONTEND);
     $request->attributes->set('_route', 'dummy');
     // Set the base path to /foo/bar
     $basePath = $reflection->getProperty('basePath');
     $basePath->setAccessible(true);
     $basePath->setValue($request, '/foo/bar');
     $listener->setContainer($container);
     $listener->onKernelRequest($event);
     $this->assertTrue($event->hasResponse());
     $cookie = $this->getCookie($event->getResponse());
     $this->assertEquals('/foo/bar', $cookie->getPath());
 }