function RendererCallbackTest::providerTestCallback

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Render/RendererCallbackTest.php \Drupal\Tests\Core\Render\RendererCallbackTest::providerTestCallback()
  2. 8.9.x core/tests/Drupal/Tests/Core/Render/RendererCallbackTest.php \Drupal\Tests\Core\Render\RendererCallbackTest::providerTestCallback()
  3. 11.x core/tests/Drupal/Tests/Core/Render/RendererCallbackTest.php \Drupal\Tests\Core\Render\RendererCallbackTest::providerTestCallback()

Data provider for testCallback().

File

core/tests/Drupal/Tests/Core/Render/RendererCallbackTest.php, line 44

Class

RendererCallbackTest
@coversDefaultClass \Drupal\Core\Render\Renderer[[api-linebreak]] @group Render

Namespace

Drupal\Tests\Core\Render

Code

public static function providerTestCallback() : array {
  return [
    'Procedural function pre render' => [
      // We specifically test an untrusted callback here. We need to let
      // PHPStan ignore it.
      // @phpstan-ignore-next-line
[
        '#pre_render' => [
          '\\Drupal\\Tests\\Core\\Render\\callback',
        ],
        '#type' => 'container',
      ],
      'Render #pre_render callbacks must be methods of a class that implements \\Drupal\\Core\\Security\\TrustedCallbackInterface or be an anonymous function. The callback was \\Drupal\\Tests\\Core\\Render\\callback. See https://www.drupal.org/node/2966725',
    ],
    'Static object method post render' => [
      // We specifically test an invalid callback here. We need to let PHPStan
      // ignore it.
      // @phpstan-ignore-next-line
[
        '#post_render' => [
          '\\Drupal\\Tests\\Core\\Render\\RendererCallbackTest::renderCallback',
        ],
        '#type' => 'container',
      ],
      'Render #post_render callbacks must be methods of a class that implements \\Drupal\\Core\\Security\\TrustedCallbackInterface or be an anonymous function. The callback was \\Drupal\\Tests\\Core\\Render\\RendererCallbackTest::renderCallback. See https://www.drupal.org/node/2966725',
    ],
    'Object method access callback' => [
      // We specifically test an invalid callback here. We need to let PHPStan
      // ignore it.
      // @phpstan-ignore-next-line
[
        '#access_callback' => [
          new static('test'),
          'renderCallback',
        ],
        '#type' => 'container',
      ],
      'Render #access_callback callbacks must be methods of a class that implements \\Drupal\\Core\\Security\\TrustedCallbackInterface or be an anonymous function. The callback was Drupal\\Tests\\Core\\Render\\RendererCallbackTest::renderCallback. See https://www.drupal.org/node/2966725',
    ],
    'Procedural function lazy builder' => [
      // We specifically test an untrusted callback here. We need to let
      // PHPStan ignore it.
      // @phpstan-ignore-next-line
[
        '#lazy_builder' => [
          '\\Drupal\\Tests\\Core\\Render\\callback',
          [],
        ],
      ],
      'Render #lazy_builder callbacks must be methods of a class that implements \\Drupal\\Core\\Security\\TrustedCallbackInterface or be an anonymous function. The callback was \\Drupal\\Tests\\Core\\Render\\callback. See https://www.drupal.org/node/2966725',
    ],
    'Invokable object access callback' => [
      [
        '#access_callback' => new static('test'),
        '#type' => 'container',
      ],
      'Render #access_callback callbacks must be methods of a class that implements \\Drupal\\Core\\Security\\TrustedCallbackInterface or be an anonymous function. The callback was Drupal\\Tests\\Core\\Render\\RendererCallbackTest. See https://www.drupal.org/node/2966725',
    ],
  ];
}

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