class BubblingTest in Drupal 10
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\BubblingTest
- 9 core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\BubblingTest
Hierarchy
- class \Drupal\Tests\Core\Render\BubblingTest implements TrustedCallbackInterface
Expanded class hierarchy of BubblingTest
File
- core/
tests/ Drupal/ Tests/ Core/ Render/ RendererBubblingTest.php, line 636 - Contains \Drupal\Tests\Core\Render\RendererBubblingTest.
Namespace
Drupal\Tests\Core\RenderView source
class BubblingTest implements TrustedCallbackInterface {
/**
* #pre_render callback for testBubblingWithPrerender().
*/
public static function bubblingPreRender($elements) {
$elements += [
'child_cache_context' => [
'#cache' => [
'contexts' => [
'child.cache_context',
],
],
'#markup' => 'Cache context!',
],
'child_cache_tag' => [
'#cache' => [
'tags' => [
'child:cache_tag',
],
],
'#markup' => 'Cache tag!',
],
'child_asset' => [
'#attached' => [
'drupalSettings' => [
'foo' => 'bar',
],
],
'#markup' => 'Asset!',
],
'child_placeholder' => [
'#create_placeholder' => TRUE,
'#lazy_builder' => [
__CLASS__ . '::bubblingPlaceholder',
[
'bar',
'qux',
],
],
],
'child_nested_pre_render_uncached' => [
'#cache' => [
'keys' => [
'uncached_nested',
],
],
'#pre_render' => [
__CLASS__ . '::bubblingNestedPreRenderUncached',
],
],
'child_nested_pre_render_cached' => [
'#cache' => [
'keys' => [
'cached_nested',
],
],
'#pre_render' => [
__CLASS__ . '::bubblingNestedPreRenderCached',
],
],
];
return $elements;
}
/**
* #pre_render callback for testBubblingWithPrerender().
*/
public static function bubblingNestedPreRenderUncached($elements) {
\Drupal::state()
->set('bubbling_nested_pre_render_uncached', TRUE);
$elements['#markup'] = 'Nested!';
return $elements;
}
/**
* #pre_render callback for testBubblingWithPrerender().
*/
public static function bubblingNestedPreRenderCached($elements) {
\Drupal::state()
->set('bubbling_nested_pre_render_cached', TRUE);
return $elements;
}
/**
* #lazy_builder callback for testBubblingWithPrerender().
*/
public static function bubblingPlaceholder($foo, $baz) {
return [
'#markup' => 'Placeholder!' . $foo . $baz,
];
}
/**
* #pre_render callback for testOverWriteCacheKeys().
*/
public static function bubblingCacheOverwritePrerender($elements) {
// Overwrite the #cache entry with new data.
$elements['#cache'] = [
'keys' => [
'llama',
'foo',
],
];
$elements['#markup'] = 'Setting cache keys just now!';
return $elements;
}
/**
* {@inheritdoc}
*/
public static function trustedCallbacks() {
return [
'bubblingPreRender',
'bubblingNestedPreRenderUncached',
'bubblingNestedPreRenderCached',
'bubblingPlaceholder',
'bubblingCacheOverwritePrerender',
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BubblingTest:: |
public static | function | #pre_render callback for testOverWriteCacheKeys(). | |
BubblingTest:: |
public static | function | #pre_render callback for testBubblingWithPrerender(). | |
BubblingTest:: |
public static | function | #pre_render callback for testBubblingWithPrerender(). | |
BubblingTest:: |
public static | function | #lazy_builder callback for testBubblingWithPrerender(). | |
BubblingTest:: |
public static | function | #pre_render callback for testBubblingWithPrerender(). | |
BubblingTest:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
|
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. |