You are here

class BubblingTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php \Drupal\Tests\Core\Render\BubblingTest

Hierarchy

Expanded class hierarchy of BubblingTest

File

core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php, line 594
Contains \Drupal\Tests\Core\Render\RendererBubblingTest.

Namespace

Drupal\Tests\Core\Render
View source
class BubblingTest {

  /**
   * #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;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BubblingTest::bubblingCacheOverwritePrerender public static function #pre_render callback for testOverWriteCacheKeys().
BubblingTest::bubblingNestedPreRenderCached public static function #pre_render callback for testBubblingWithPrerender().
BubblingTest::bubblingNestedPreRenderUncached public static function #pre_render callback for testBubblingWithPrerender().
BubblingTest::bubblingPlaceholder public static function #lazy_builder callback for testBubblingWithPrerender().
BubblingTest::bubblingPreRender public static function #pre_render callback for testBubblingWithPrerender().