addMessage('Hello world!'); } /** * Implements hook_theme(). */ function twig_tweak_test_theme(): array { return ['twig_tweak_test' => ['variables' => []]]; } /** * Prepares variables for twig-tweak-test template. */ function template_preprocess_twig_tweak_test(array &$vars): void { $vars['node'] = Node::load(1); } /** * Implements hook_block_access(). * * @see \Drupal\Tests\twig_tweak\Kernel\RegionViewBuilderTest */ function twig_tweak_test_block_access(BlockInterface $block): AccessResultInterface { $result = AccessResult::forbiddenIf($block->id() == 'private_block'); $result->cachePerUser(); $result->addCacheTags(['tag_for_' . $block->id()]); $result->setCacheMaxAge(123); return $result; } /** * Implements hook_node_access(). * * @see \Drupal\Tests\twig_tweak\Kernel\EntityViewBuilderTest */ function twig_tweak_test_node_access(NodeInterface $node): AccessResultInterface { $result = AccessResult::forbiddenIf($node->getTitle() == 'Private node'); $result->addCacheTags(['tag_from_' . __FUNCTION__]); $result->cachePerUser(); $result->setCacheMaxAge(50); return $result; } /** * Implements hook_file_access(). * * @see \Drupal\Tests\twig_tweak\Kernel\ImageViewBuilderTest */ function twig_tweak_test_file_access(FileInterface $file): AccessResultInterface { $is_public = parse_url($file->getFileUri(), PHP_URL_SCHEME) == 'public'; $result = AccessResult::allowedIf($is_public); $result->cachePerUser(); $result->addCacheTags(['tag_for_' . $file->getFileUri()]); $result->setCacheMaxAge(70); return $result; }