コード例 #1
0
ファイル: RendererTestBase.php プロジェクト: scratch/gai
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     parent::setUp();
     $this->controllerResolver = $this->getMock('Drupal\\Core\\Controller\\ControllerResolverInterface');
     $this->themeManager = $this->getMock('Drupal\\Core\\Theme\\ThemeManagerInterface');
     $this->elementInfo = $this->getMock('Drupal\\Core\\Render\\ElementInfoManagerInterface');
     $this->elementInfo->expects($this->any())->method('getInfo')->willReturnCallback(function ($type) {
         switch ($type) {
             case 'details':
                 $info = ['#theme_wrappers' => ['details']];
                 break;
             case 'link':
                 $info = ['#theme' => 'link'];
                 break;
             case 'markup':
                 $info = ['#pre_render' => [[Markup::class, 'ensureMarkupIsSafe']]];
                 break;
             default:
                 $info = [];
         }
         $info['#defaults_loaded'] = TRUE;
         return $info;
     });
     $this->requestStack = new RequestStack();
     $request = new Request();
     $request->server->set('REQUEST_TIME', $_SERVER['REQUEST_TIME']);
     $this->requestStack->push($request);
     $this->cacheFactory = $this->getMock('Drupal\\Core\\Cache\\CacheFactoryInterface');
     $this->cacheContextsManager = $this->getMockBuilder('Drupal\\Core\\Cache\\Context\\CacheContextsManager')->disableOriginalConstructor()->getMock();
     $current_user_role =& $this->currentUserRole;
     $this->cacheContextsManager->expects($this->any())->method('convertTokensToKeys')->willReturnCallback(function ($context_tokens) use(&$current_user_role) {
         $keys = [];
         foreach ($context_tokens as $context_id) {
             switch ($context_id) {
                 case 'user.roles':
                     $keys[] = 'r.' . $current_user_role;
                     break;
                 case 'languages:language_interface':
                     $keys[] = 'en';
                     break;
                 case 'theme':
                     $keys[] = 'stark';
                     break;
                 default:
                     $keys[] = $context_id;
             }
         }
         return new ContextCacheKeys($keys, new CacheableMetadata());
     });
     $this->renderCache = new RenderCache($this->requestStack, $this->cacheFactory, $this->cacheContextsManager);
     $this->renderer = new Renderer($this->controllerResolver, $this->themeManager, $this->elementInfo, $this->renderCache, $this->requestStack, $this->rendererConfig);
     $container = new ContainerBuilder();
     $container->set('cache_contexts_manager', $this->cacheContextsManager);
     $container->set('render_cache', $this->renderCache);
     $container->set('renderer', $this->renderer);
     \Drupal::setContainer($container);
 }
コード例 #2
0
ファイル: FormTestBase.php プロジェクト: ddrozdik/dmaps
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     parent::setUp();
     $this->moduleHandler = $this->getMock('Drupal\\Core\\Extension\\ModuleHandlerInterface');
     $this->formCache = $this->getMock('Drupal\\Core\\Form\\FormCacheInterface');
     $this->cache = $this->getMock('Drupal\\Core\\Cache\\CacheBackendInterface');
     $this->urlGenerator = $this->getMock('Drupal\\Core\\Routing\\UrlGeneratorInterface');
     $this->classResolver = $this->getClassResolverStub();
     $this->elementInfo = $this->getMockBuilder('\\Drupal\\Core\\Render\\ElementInfoManagerInterface')->disableOriginalConstructor()->getMock();
     $this->elementInfo->expects($this->any())->method('getInfo')->will($this->returnCallback(array($this, 'getInfo')));
     $this->csrfToken = $this->getMockBuilder('Drupal\\Core\\Access\\CsrfTokenGenerator')->disableOriginalConstructor()->getMock();
     $this->kernel = $this->getMockBuilder('\\Drupal\\Core\\DrupalKernel')->disableOriginalConstructor()->getMock();
     $this->account = $this->getMock('Drupal\\Core\\Session\\AccountInterface');
     $this->themeManager = $this->getMock('Drupal\\Core\\Theme\\ThemeManagerInterface');
     $this->request = new Request();
     $this->eventDispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface');
     $this->requestStack = new RequestStack();
     $this->requestStack->push($this->request);
     $this->logger = $this->getMock('Drupal\\Core\\Logger\\LoggerChannelInterface');
     $form_error_handler = $this->getMock('Drupal\\Core\\Form\\FormErrorHandlerInterface');
     $this->formValidator = $this->getMockBuilder('Drupal\\Core\\Form\\FormValidator')->setConstructorArgs([$this->requestStack, $this->getStringTranslationStub(), $this->csrfToken, $this->logger, $form_error_handler])->setMethods(NULL)->getMock();
     $this->formSubmitter = $this->getMockBuilder('Drupal\\Core\\Form\\FormSubmitter')->setConstructorArgs(array($this->requestStack, $this->urlGenerator))->setMethods(array('batchGet', 'drupalInstallationAttempted'))->getMock();
     $this->root = dirname(dirname(substr(__DIR__, 0, -strlen(__NAMESPACE__))));
     $this->formBuilder = new FormBuilder($this->formValidator, $this->formSubmitter, $this->formCache, $this->moduleHandler, $this->eventDispatcher, $this->requestStack, $this->classResolver, $this->elementInfo, $this->themeManager, $this->csrfToken);
 }