function ManyPlaceholderTest::testManyNoJsPlaceHolders

Same name and namespace in other branches
  1. 9 core/modules/big_pipe/tests/src/Unit/Render/ManyPlaceholderTest.php \Drupal\Tests\big_pipe\Unit\Render\ManyPlaceholderTest::testManyNoJsPlaceHolders()
  2. 8.9.x core/modules/big_pipe/tests/src/Unit/Render/ManyPlaceholderTest.php \Drupal\Tests\big_pipe\Unit\Render\ManyPlaceholderTest::testManyNoJsPlaceHolders()
  3. 11.x 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 28

Class

ManyPlaceholderTest
@coversDefaultClass \Drupal\big_pipe\Render\BigPipe[[api-linebreak]] @group big_pipe

Namespace

Drupal\Tests\big_pipe\Unit\Render

Code

public function testManyNoJsPlaceHolders() : void {
  $session = $this->prophesize(SessionInterface::class);
  $session->start()
    ->willReturn(TRUE);
  $session->save()
    ->shouldBeCalled();
  $bigpipe = new BigPipe($this->prophesize(RendererInterface::class)
    ->reveal(), $session->reveal(), $this->prophesize(RequestStack::class)
    ->reveal(), $this->prophesize(HttpKernelInterface::class)
    ->reveal(), $this->prophesize(EventDispatcherInterface::class)
    ->reveal(), $this->prophesize(ConfigFactoryInterface::class)
    ->reveal(), $this->prophesize(MessengerInterface::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);
}

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