function RegistryTest::testRuntimeRegistryAfterDestruct

Same name and namespace in other branches
  1. main core/tests/Drupal/KernelTests/Core/Theme/RegistryTest.php \Drupal\KernelTests\Core\Theme\RegistryTest::testRuntimeRegistryAfterDestruct()

Tests that runtime theme hooks remain available after registry cleanup.

File

core/tests/Drupal/KernelTests/Core/Theme/RegistryTest.php, line 70

Class

RegistryTest
Tests the behavior of the ThemeRegistry class.

Namespace

Drupal\KernelTests\Core\Theme

Code

public function testRuntimeRegistryAfterDestruct() : void {
  \Drupal::request()->setMethod('GET');
  $registry = $this->container
    ->get(Registry::class);
  $runtime_registry = $registry->getRuntime();
  $hook = 'theme_test_template_test';
  $this->assertTrue($runtime_registry->has($hook));
  $definition = $runtime_registry->get($hook);
  $this->assertNotEmpty($definition);
  // Persistent workers may keep the service alive after cleanup.
  $registry->destruct();
  $next_runtime_registry = $registry->getRuntime();
  $this->assertTrue($next_runtime_registry->has($hook));
  $this->assertSame($definition, $next_runtime_registry->get($hook));
  $this->assertNotSame($runtime_registry, $next_runtime_registry);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.