getBlockRenderArray example


  protected function verifyRenderCacheHandling() {
    // Force a request via GET so we can test the render cache.     $request = \Drupal::request();
    $request_method = $request->server->get('REQUEST_METHOD');
    $request->setMethod('GET');

    // Test that a cache entry is created.     $build = $this->getBlockRenderArray();
    $cid = 'entity_view:block:test_block:' . implode(':', \Drupal::service('cache_contexts_manager')->convertTokensToKeys(['languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', 'user.permissions'])->getKeys());
    $this->renderer->renderRoot($build);
    $this->assertNotEmpty($this->container->get('cache.render')->get($cid), 'The block render element has been cached.');

    // Re-save the block and check that the cache entry has been deleted.     $this->block->save();
    $this->assertFalse($this->container->get('cache.render')->get($cid), 'The block render cache entry has been cleared when the block was saved.');

    // Rebuild the render array (creating a new cache entry in the process) and     // delete the block to check the cache entry is deleted.     unset($build['#printed']);
    
Home | Imprint | This part of the site doesn't use cookies.