Mercurial > hg > isophonics-drupal-site
view core/profiles/standard/tests/src/FunctionalJavascript/StandardJavascriptTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 1fec387a4317 |
children | af1871eacc83 |
line wrap: on
line source
<?php namespace Drupal\Tests\standard\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; use Drupal\node\Entity\Node; /** * Tests Standard installation profile JavaScript expectations. * * @group standard */ class StandardJavascriptTest extends WebDriverTestBase { /** * {@inheritdoc} */ protected $profile = 'standard'; /** * Tests BigPipe accelerates particular Standard installation profile routes. */ public function testBigPipe() { $this->drupalLogin($this->drupalCreateUser([ 'access content', 'post comments', 'skip comment approval', ])); $node = Node::create(['type' => 'article']) ->setTitle($this->randomMachineName()) ->setPromoted(TRUE) ->setPublished(); $node->save(); // Front page: one placeholder, for messages. $this->drupalGet(''); $this->assertBigPipePlaceholderReplacementCount(1); // Node page: 3 placeholders: // 1. messages // 2. local tasks block // 3. comment form $this->drupalGet($node->toUrl()); $this->assertBigPipePlaceholderReplacementCount(3); } /** * Asserts the number of BigPipe placeholders that are replaced on the page. * * @param int $expected_count * The expected number of BigPipe placeholders. */ protected function assertBigPipePlaceholderReplacementCount($expected_count) { $web_assert = $this->assertSession(); $web_assert->waitForElement('css', 'script[data-big-pipe-event="stop"]'); $page = $this->getSession()->getPage(); $this->assertCount($expected_count, $this->getDrupalSettings()['bigPipePlaceholderIds']); $this->assertCount($expected_count, $page->findAll('css', 'script[data-big-pipe-replacement-for-placeholder-with-id]')); } }