Example #1
0
    protected function setUp()
    {
        parent::setUp();

        $this->kernel = $this->getMock('Symfony\\Component\\HttpKernel\\KernelInterface');

        $this->container = new ContainerBuilder();
        $this->container->addScope(new Scope('request'));
        $this->container->register('request', 'Symfony\\Component\\HttpFoundation\\Request')->setScope('request');
        $this->container->register('templating.helper.assets', $this->getMockClass('Symfony\\Component\\Templating\\Helper\\AssetsHelper'));
        $this->container->register('templating.helper.router', $this->getMockClass('Symfony\\Bundle\\FrameworkBundle\\Templating\\Helper\\RouterHelper'))
            ->addArgument(new Definition($this->getMockClass('Symfony\\Component\\Routing\\RouterInterface')));
        $this->container->register('twig', 'Twig_Environment');
        $this->container->register('templating.engine.twig', $this->getMockClass('Symfony\\Bundle\\TwigBundle\\TwigEngine'))
            ->addArgument(new Definition($this->getMockClass('Twig_Environment')))
            ->addArgument(new Definition($this->getMockClass('Symfony\\Component\\Templating\\TemplateNameParserInterface')))
            ->addArgument(new Definition($this->getMockClass('Symfony\Component\Config\FileLocatorInterface')))
            ->addArgument(new Definition($this->getMockClass('Symfony\\Bundle\\FrameworkBundle\\Templating\\GlobalVariables'), array(new Definition($this->getMockClass('Symfony\\Component\\DependencyInjection\\Container')))));
        $this->container->setParameter('kernel.bundles', array());
        $this->container->setParameter('kernel.cache_dir', __DIR__);
        $this->container->setParameter('kernel.debug', false);
        $this->container->setParameter('kernel.root_dir', __DIR__);
        $this->container->register('profiler', $this->getMockClass('Symfony\\Component\\HttpKernel\\Profiler\\Profiler'))
            ->addArgument(new Definition($this->getMockClass('Symfony\\Component\\HttpKernel\\Profiler\\ProfilerStorageInterface')));
        $this->container->setParameter('data_collector.templates', array());
        $this->container->set('kernel', $this->kernel);
    }
 /**
  * {@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);
 }
 protected function setUp()
 {
     parent::setUp();
     $this->kernel = $this->getMock('Symfony\\Component\\HttpKernel\\KernelInterface');
     $this->container = new ContainerBuilder();
     $this->container->addScope(new Scope('request'));
     $this->container->register('request', 'Symfony\\Component\\HttpFoundation\\Request')->setScope('request');
     $this->container->register('router', $this->getMockClass('Symfony\\Component\\Routing\\RouterInterface'));
     $this->container->register('twig', 'Twig_Environment');
     $this->container->setParameter('kernel.bundles', array());
     $this->container->setParameter('kernel.cache_dir', __DIR__);
     $this->container->setParameter('kernel.debug', false);
     $this->container->setParameter('kernel.root_dir', __DIR__);
     $this->container->setParameter('profiler.class', array('Symfony\\Component\\HttpKernel\\Profiler\\Profiler'));
     $this->container->register('profiler', $this->getMockClass('Symfony\\Component\\HttpKernel\\Profiler\\Profiler'))->addArgument(new Definition($this->getMockClass('Symfony\\Component\\HttpKernel\\Profiler\\ProfilerStorageInterface')));
     $this->container->setParameter('data_collector.templates', array());
     $this->container->set('kernel', $this->kernel);
 }
 /**
  * @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;
 }
 /**
  * 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());
 }
 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');
 }
 /**
  * @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());
 }
Example #12
0
 /**
  * Mocks a container with scopes.
  *
  * @return Container|\PHPUnit_Framework_MockObject_MockObject The container object
  */
 protected function mockContainerWithContaoScopes()
 {
     $container = new Container();
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_BACKEND));
     $container->addScope(new Scope(ContaoCoreBundle::SCOPE_FRONTEND));
     $container->setParameter('kernel.root_dir', $this->getRootDir());
     $container->setParameter('kernel.cache_dir', $this->getCacheDir());
     $container->setParameter('kernel.debug', false);
     $container->setParameter('contao.image.bypass_cache', false);
     $container->setParameter('contao.image.target_path', 'assets/images');
     $container->set('contao.resource_finder', new ResourceFinder($this->getRootDir() . '/vendor/contao/test-bundle/Resources/contao'));
     $container->set('contao.resource_locator', new FileLocator($this->getRootDir() . '/vendor/contao/test-bundle/Resources/contao'));
     $request = new Request();
     $request->server->set('REMOTE_ADDR', '123.456.789.0');
     $requestStack = new RequestStack();
     $requestStack->push($request);
     $container->set('request_stack', $requestStack);
     $container->set('session', $this->mockSession());
     return $container;
 }