You are here

public function ManyPlaceholderTest::testManyNoJsPlaceHolders in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/big_pipe/tests/src/Unit/Render/ManyPlaceholderTest.php \Drupal\Tests\big_pipe\Unit\Render\ManyPlaceholderTest::testManyNoJsPlaceHolders()
  2. 10 core/modules/big_pipe/tests/src/Unit/Render/ManyPlaceholderTest.php \Drupal\Tests\big_pipe\Unit\Render\ManyPlaceholderTest::testManyNoJsPlaceHolders()

@covers \Drupal\big_pipe\Render\BigPipe::sendNoJsPlaceholders

File

core/modules/big_pipe/tests/src/Unit/Render/ManyPlaceholderTest.php, line 25

Class

ManyPlaceholderTest
@coversDefaultClass \Drupal\big_pipe\Render\BigPipe @group big_pipe

Namespace

Drupal\Tests\big_pipe\Unit\Render

Code

public function testManyNoJsPlaceHolders() {
  $bigpipe = new BigPipe($this
    ->prophesize(RendererInterface::class)
    ->reveal(), $this
    ->prophesize(SessionInterface::class)
    ->reveal(), $this
    ->prophesize(RequestStack::class)
    ->reveal(), $this
    ->prophesize(HttpKernelInterface::class)
    ->reveal(), $this
    ->prophesize(EventDispatcherInterface::class)
    ->reveal(), $this
    ->prophesize(ConfigFactoryInterface::class)
    ->reveal());
  $response = new BigPipeResponse(new HtmlResponse());

  // Add many placeholders.
  $many_placeholders = [];
  for ($i = 0; $i < 400; $i++) {
    $many_placeholders[$this
      ->randomMachineName(80)] = $this
      ->randomMachineName(80);
  }
  $attachments = [
    'library' => [],
    'big_pipe_nojs_placeholders' => $many_placeholders,
  ];
  $response
    ->setAttachments($attachments);

  // Construct minimal HTML response.
  $content = '<html><body>content<drupal-big-pipe-scripts-bottom-marker>script-bottom<drupal-big-pipe-scripts-bottom-marker></body></html>';
  $response
    ->setContent($content);

  // Capture the result to avoid PHPUnit complaining.
  ob_start();
  $bigpipe
    ->sendContent($response);
  $result = ob_get_clean();
  $this
    ->assertNotEmpty($result);
}