class StandardJavascriptTest in Drupal 10
Same name and namespace in other branches
- 8 core/profiles/standard/tests/src/FunctionalJavascript/StandardJavascriptTest.php \Drupal\Tests\standard\FunctionalJavascript\StandardJavascriptTest
- 9 core/profiles/standard/tests/src/FunctionalJavascript/StandardJavascriptTest.php \Drupal\Tests\standard\FunctionalJavascript\StandardJavascriptTest
Tests Standard installation profile JavaScript expectations.
@group standard
Hierarchy
- class \Drupal\Tests\BrowserTestBase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, FunctionalTestSetupTrait, TestSetupTrait, BlockCreationTrait, ConfigTestTrait, ExtensionListTestTrait, ContentTypeCreationTrait, NodeCreationTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings, UiHelperTrait, UserCreationTrait, XdebugRequestTrait
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
- class \Drupal\Tests\standard\FunctionalJavascript\StandardJavascriptTest
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase
Expanded class hierarchy of StandardJavascriptTest
File
- core/
profiles/ standard/ tests/ src/ FunctionalJavascript/ StandardJavascriptTest.php, line 13
Namespace
Drupal\Tests\standard\FunctionalJavascriptView source
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: 2 placeholders:
// 1. messages
// 2. comment form
$this
->drupalGet($node
->toUrl());
$this
->assertBigPipePlaceholderReplacementCount(2);
}
/**
* 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) : void {
$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]'));
}
}