Commit 82bba274 authored by xjm's avatar xjm

Issue #3018073 by tim.plunkett, kostyashupenko, mark_fullmer, johndevman,...

Issue #3018073 by tim.plunkett, kostyashupenko, mark_fullmer, johndevman, JacobSanford: Stop Using Title Case When Not Appropriate in Layout Builder UI
parent 56961ccf
......@@ -87,9 +87,9 @@ public function testLayoutModeration() {
$assert_session->checkboxChecked('revision');
$assert_session->fieldDisabled('revision');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$page->clickLink('Powered by Drupal');
$page->pressButton('Add Block');
$page->pressButton('Add block');
// Save the node as a draft. Revision count: 3.
$page->fillField('moderation_state[0][state]', 'draft');
$page->pressButton('Save layout');
......
......@@ -13,12 +13,12 @@
let layoutBuilderBlocksFiltered = false;
/**
* Provides the ability to filter the block listing in Add Block dialog.
* Provides the ability to filter the block listing in "Add block" dialog.
*
* @type {Drupal~behavior}
*
* @prop {Drupal~behaviorAttach} attach
* Attach block filtering behavior to Add Block dialog.
* Attach block filtering behavior to "Add block" dialog.
*/
behaviors.layoutBuilderBlockFilter = {
attach(context) {
......
......@@ -174,20 +174,20 @@ protected function buildAddSectionLink(SectionStorageInterface $section_storage,
// layout or an empty layout.
if ($delta === count($section_storage)) {
if ($delta === 0) {
$title = $this->t('Add Section');
$title = $this->t('Add section');
}
else {
$title = $this->t('Add Section <span class="visually-hidden">at end of layout</span>');
$title = $this->t('Add section <span class="visually-hidden">at end of layout</span>');
}
}
// If the delta and the count are different, it is either the beginning of
// the layout or in between two sections.
else {
if ($delta === 0) {
$title = $this->t('Add Section <span class="visually-hidden">at start of layout</span>');
$title = $this->t('Add section <span class="visually-hidden">at start of layout</span>');
}
else {
$title = $this->t('Add Section <span class="visually-hidden">between @first and @second</span>', ['@first' => $delta, '@second' => $delta + 1]);
$title = $this->t('Add section <span class="visually-hidden">between @first and @second</span>', ['@first' => $delta, '@second' => $delta + 1]);
}
}
......@@ -274,7 +274,7 @@ protected function buildAdministrativeSection(SectionStorageInterface $section_s
$build[$region]['layout_builder_add_block']['link'] = [
'#type' => 'link',
// Add one to the current delta since it is zero-indexed.
'#title' => $this->t('Add Block <span class="visually-hidden">in section @section, @region region</span>', ['@section' => $delta + 1, '@region' => $region_labels[$region]]),
'#title' => $this->t('Add block <span class="visually-hidden">in section @section, @region region</span>', ['@section' => $delta + 1, '@region' => $region_labels[$region]]),
'#url' => Url::fromRoute('layout_builder.choose_block',
[
'section_storage_type' => $storage_type,
......@@ -364,7 +364,7 @@ protected function buildAdministrativeSection(SectionStorageInterface $section_s
'data-dialog-renderer' => 'off_canvas',
],
],
// The section label is added to sections without a "Configure Section"
// The section label is added to sections without a "Configure section"
// link, and is only visible when the move block dialog is open.
'section_label' => [
'#markup' => $this->t('<span class="layout-builder__section-label" aria-hidden="true">Section @section</span>', ['@section' => $delta + 1]),
......
......@@ -28,7 +28,7 @@ public function getFormId() {
* {@inheritdoc}
*/
protected function submitLabel() {
return $this->t('Add Block');
return $this->t('Add block');
}
/**
......
......@@ -155,7 +155,7 @@ public function buildForm(array $form, FormStateInterface $form_state, SectionSt
$form['components_wrapper']['components'] = [
'#type' => 'table',
'#header' => [
$this->t('Block Label'),
$this->t('Block label'),
$this->t('Weight'),
],
'#tabledrag' => [
......
......@@ -55,9 +55,9 @@ public function testPlaceFieldBlockFromDifferentEntityType() {
// Place a field block for a user entity field.
$this->drupalGet('node/1/layout');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$page->clickLink('Name');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$page->pressButton('Save layout');
$this->drupalGet('node/1');
......
......@@ -62,11 +62,11 @@ public function testRenderByContextAwarePluginDelegate() {
// Add a block to the defaults.
$page->clickLink('Manage layout');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$page->clickLink('Powered by Drupal');
$page->fillField('settings[label]', 'Defaults block title');
$page->checkField('settings[label_display]');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$page->pressButton('Save layout');
$this->drupalGet('node/1');
......
......@@ -204,11 +204,11 @@ protected function addLayoutOverride() {
$assert_session->pageTextContains('The untranslated field value');
// Adjust the layout.
$assert_session->linkExists('Add Block');
$this->clickLink('Add Block');
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$assert_session->linkExists('Powered by Drupal');
$this->clickLink('Powered by Drupal');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->pageTextContains('Powered by Drupal');
$assert_session->buttonExists('Save layout');
......
......@@ -53,11 +53,11 @@ public function testMultipleViewModes() {
$assert_session->pageTextNotContains('Powered by Drupal');
$this->drupalGet('node/1/layout');
$assert_session->linkExists('Add Block');
$this->clickLink('Add Block');
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$assert_session->linkExists('Powered by Drupal');
$this->clickLink('Powered by Drupal');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$page->pressButton('Save');
$assert_session->pageTextContains('Powered by Drupal');
......
......@@ -74,11 +74,11 @@ public function setUp() {
]);
$this->drupalGet('node/' . $this->node->id() . '/layout');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$page->clickLink('Powered by Drupal');
$page->fillField('settings[label]', 'This is an override');
$page->checkField('settings[label_display]');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$page->pressButton('Save layout');
$assert_session->pageTextContains('This is an override');
......
......@@ -68,8 +68,8 @@ public function testAddAjaxBlock() {
$assert_session->elementExists('css', '.field--name-body');
// Add a new block.
$assert_session->linkExists('Add Block');
$this->clickLink('Add Block');
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
$assert_session->linkExists('TestAjax');
$this->clickLink('TestAjax');
......@@ -86,7 +86,7 @@ public function testAddAjaxBlock() {
}
}
// Then add the block.
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->assertWaitOnAjaxRequest();
$block_elements = $this->cssSelect('.block-layout-builder-test-testajax');
// Should be exactly one of these in there.
......
......@@ -53,8 +53,8 @@ public function testBlockFilter() {
$assert_session->addressEquals("$field_ui_prefix/display/default/layout");
// Open the block listing.
$assert_session->linkExists('Add Block');
$this->clickLink('Add Block');
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
// Get all blocks, for assertions later.
......
......@@ -56,15 +56,15 @@ public function testValidationMessage() {
);
$this->clickElementWhenClickable($page->findLink('Manage layout'));
$assert_session->addressEquals($field_ui_prefix . '/display/default/layout');
$this->clickElementWhenClickable($page->findLink('Add Block'));
$this->clickElementWhenClickable($page->findLink('Add block'));
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas .block-categories'));
$this->clickElementWhenClickable($page->findLink('Powered by Drupal'));
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas [name="settings[label]"]'));
$page->findField('Title')->setValue('');
$this->clickElementWhenClickable($page->findButton('Add Block'));
$this->clickElementWhenClickable($page->findButton('Add block'));
$this->assertMessagesDisplayed();
$page->findField('Title')->setValue('New title');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$block_css_locator = '#layout-builder .block-system-powered-by-block';
$this->assertNotEmpty($assert_session->waitForElementVisible('css', $block_css_locator));
$this->waitForNoElement('#drupal-off-canvas');
......
......@@ -99,19 +99,19 @@ public function testContextualLinks() {
* Adds block to the layout via Layout Builder's UI.
*
* @param string $block_name
* The block name as it appears in the Add Block form.
* The block name as it appears in the Add block form.
*/
protected function addBlock($block_name) {
$assert_session = $this->assertSession();
$page = $this->getSession()->getPage();
$assert_session->linkExists('Add Block');
$page->clickLink('Add Block');
$assert_session->linkExists('Add block');
$page->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
$this->assertNotEmpty($assert_session->waitForElementVisible('css', "#drupal-off-canvas a:contains('$block_name')"));
$page->clickLink($block_name);
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '[data-drupal-selector=\'edit-actions-submit\']'));
$page->pressButton('Add Block');
$page->pressButton('Add block');
$this->waitForNoElement('#drupal-off-canvas');
$assert_session->assertWaitOnAjaxRequest();
}
......
......@@ -192,7 +192,7 @@ protected function replaceFileInBlock(FileInterface $file) {
protected function addInlineFileBlockToLayout($title, File $file) {
$assert_session = $this->assertSession();
$page = $this->getSession()->getPage();
$page->clickLink('Add Block');
$page->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
$this->assertNotEmpty($assert_session->waitForLink('Create custom block'));
$this->clickLink('Create custom block');
......@@ -200,7 +200,7 @@ protected function addInlineFileBlockToLayout($title, File $file) {
$assert_session->fieldValueEquals('Title', '');
$page->findField('Title')->setValue($title);
$this->attachFileToBlockForm($file);
$page->pressButton('Add Block');
$page->pressButton('Add block');
$this->assertDialogClosedAndTextVisible($file->label(), static::INLINE_BLOCK_LOCATOR);
}
......
......@@ -465,7 +465,7 @@ public function testAddWorkFlow() {
$layout_default_path = 'admin/structure/types/manage/bundle_with_section_field/display/default/layout';
$this->drupalGet($layout_default_path);
// Add a basic block with the body field set.
$page->clickLink('Add Block');
$page->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
// Confirm that with no block content types the link does not appear.
$assert_session->linkNotExists('Create custom block');
......@@ -474,7 +474,7 @@ public function testAddWorkFlow() {
$this->drupalGet($layout_default_path);
// Add a basic block with the body field set.
$page->clickLink('Add Block');
$page->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
// Confirm with only 1 type the "Create custom block" link goes directly t
// block add form.
......@@ -487,7 +487,7 @@ public function testAddWorkFlow() {
$this->drupalGet($layout_default_path);
// Add a basic block with the body field set.
$page->clickLink('Add Block');
$page->clickLink('Add block');
// Confirm that, when more than 1 type exists, "Create custom block" shows a
// list of block types.
$assert_session->assertWaitOnAjaxRequest();
......@@ -519,7 +519,7 @@ public function testAddInlineBlocksPermission() {
$this->drupalLogin($this->drupalCreateUser($permissions));
$this->drupalGet(static::FIELD_UI_PREFIX . '/display/default/layout');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas .block-categories'));
if ($expected) {
$assert_session->linkExists('Create custom block');
......
......@@ -133,7 +133,7 @@ protected function removeInlineBlockFromLayout() {
protected function addInlineBlockToLayout($title, $body) {
$assert_session = $this->assertSession();
$page = $this->getSession()->getPage();
$page->clickLink('Add Block');
$page->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
$this->assertNotEmpty($assert_session->waitForLink('Create custom block'));
$this->clickLink('Create custom block');
......@@ -143,7 +143,7 @@ protected function addInlineBlockToLayout($title, $body) {
$assert_session->fieldValueEquals('Title', '');
$page->findField('Title')->setValue($title);
$textarea->setValue($body);
$page->pressButton('Add Block');
$page->pressButton('Add block');
$this->assertDialogClosedAndTextVisible($body, static::INLINE_BLOCK_LOCATOR);
}
......
......@@ -64,7 +64,7 @@ public function testAddAjaxBlock() {
$this->drupalGet('node/1/layout');
// Add a new block.
$this->clickLink('Add Block');
$this->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
// Validate that only field blocks for layouted bundle are present.
......
......@@ -142,8 +142,8 @@ protected function addBlock($block_link_text, $rendered_locator) {
$page = $this->getSession()->getPage();
// Add a new block.
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#layout-builder a:contains(\'Add Block\')'));
$this->clickLink('Add Block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#layout-builder a:contains(\'Add block\')'));
$this->clickLink('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas'));
$assert_session->assertWaitOnAjaxRequest();
......@@ -153,7 +153,7 @@ protected function addBlock($block_link_text, $rendered_locator) {
// Wait for off-canvas dialog to reopen with block form.
$this->assertNotEmpty($assert_session->waitForElementVisible('css', ".layout-builder-add-block"));
$assert_session->assertWaitOnAjaxRequest();
$page->pressButton('Add Block');
$page->pressButton('Add block');
// Wait for block form to be rendered in the Layout Builder.
$this->assertNotEmpty($assert_session->waitForElement('css', $rendered_locator));
......
......@@ -96,12 +96,12 @@ public function testQuickEditIgnoresDuplicateFields() {
$assert_session = $this->assertSession();
$this->loginLayoutAdmin();
$this->drupalGet('admin/structure/types/manage/article/display/default/layout');
$page->clickLink('Add Block');
$page->clickLink('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas'));
$assert_session->assertWaitOnAjaxRequest();
$page->clickLink('Body');
$assert_session->assertWaitOnAjaxRequest();
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->assertWaitOnAjaxRequest();
$page->pressButton('Save layout');
$this->assertNotEmpty($assert_session->waitForElement('css', '.messages--status'));
......
......@@ -114,7 +114,7 @@ public function testLayoutBuilderUi() {
$this->clickLink('Layout');
$this->markCurrentPage();
$assert_session->pageTextContains('The node body');
$assert_session->linkExists('Add Section');
$assert_session->linkExists('Add section');
// Add a new block.
$this->openAddBlockForm('Powered by Drupal');
......@@ -123,7 +123,7 @@ public function testLayoutBuilderUi() {
$page->checkField('settings[label_display]');
// Save the new block, and ensure it is displayed on the page.
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->assertWaitOnAjaxRequest();
$this->assertNoElementAfterWait('#drupal-off-canvas');
$assert_session->addressEquals($layout_url);
......@@ -149,8 +149,8 @@ public function testLayoutBuilderUi() {
$this->drupalGet($layout_url);
$this->markCurrentPage();
$assert_session->linkExists('Add Section');
$this->clickLink('Add Section');
$assert_session->linkExists('Add section');
$this->clickLink('Add section');
$this->assertNotEmpty($assert_session->waitForElementVisible('named', ['link', 'Two column']));
$this->clickLink('Two column');
......@@ -207,7 +207,7 @@ public function testLayoutBuilderUi() {
$this->assertNoElementAfterWait('#drupal-off-canvas');
$assert_session->pageTextNotContains('Powered by Drupal');
$assert_session->linkExists('Add Block');
$assert_session->linkExists('Add block');
$assert_session->addressEquals($layout_url);
$this->assertPageNotReloaded();
......@@ -219,7 +219,7 @@ public function testLayoutBuilderUi() {
$this->markCurrentPage();
$this->openAddBlockForm('My custom block');
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->assertWaitOnAjaxRequest();
$assert_session->pageTextContains('This is the block content');
......@@ -239,7 +239,7 @@ public function testLayoutBuilderUi() {
$assert_session->assertWaitOnAjaxRequest();
$assert_session->pageTextNotContains('This is the block content');
$assert_session->linkNotExists('Add Block');
$assert_session->linkNotExists('Add block');
$this->assertPageNotReloaded();
$page->pressButton('Save layout');
......@@ -274,8 +274,8 @@ public function testConfigurableLayoutSections() {
$this->drupalGet($layout_url);
$this->markCurrentPage();
$assert_session->linkExists('Add Section');
$this->clickLink('Add Section');
$assert_session->linkExists('Add section');
$this->clickLink('Add section');
$assert_session->assertWaitOnAjaxRequest();
$assert_session->elementExists('css', '#drupal-off-canvas');
......@@ -284,8 +284,8 @@ public function testConfigurableLayoutSections() {
$assert_session->assertWaitOnAjaxRequest();
// Add another section.
$assert_session->linkExists('Add Section');
$this->clickLink('Add Section');
$assert_session->linkExists('Add section');
$this->clickLink('Add section');
$assert_session->assertWaitOnAjaxRequest();
$assert_session->elementExists('css', '#drupal-off-canvas');
......@@ -298,7 +298,7 @@ public function testConfigurableLayoutSections() {
$this->assertNoElementAfterWait('#drupal-off-canvas');
$assert_session->pageTextContains('Default');
$assert_session->linkExists('Add Block');
$assert_session->linkExists('Add block');
// Configure the existing section.
$assert_session->linkExists('Configure section 1');
......@@ -353,7 +353,7 @@ public function testLayoutNoDialog() {
$this->assertNoElementAfterWait('#drupal-off-canvas');
$page->fillField('settings[label]', 'The block label');
$page->fillField('settings[label_display]', TRUE);
$page->pressButton('Add Block');
$page->pressButton('Add block');
$assert_session->addressEquals($layout_url);
$assert_session->pageTextContains('Powered by Drupal');
......@@ -369,7 +369,7 @@ public function testLayoutNoDialog() {
$assert_session->addressEquals($layout_url);
$assert_session->pageTextNotContains('Powered by Drupal');
$assert_session->pageTextNotContains('The block label');
$assert_session->linkNotExists('Add Block');
$assert_session->linkNotExists('Add block');
}
/**
......@@ -464,8 +464,8 @@ private function enableLayoutsForBundle($path, $allow_custom = FALSE) {
*/
private function openAddBlockForm($block_title) {
$assert_session = $this->assertSession();
$assert_session->linkExists('Add Block');
$this->clickLink('Add Block');
$assert_session->linkExists('Add block');
$this->clickLink('Add block');
$assert_session->assertWaitOnAjaxRequest();
$this->assertNotEmpty($assert_session->waitForElementVisible('named', ['link', $block_title]));
$this->clickLink($block_title);
......
......@@ -71,13 +71,13 @@ public function testReloadWithNoSections() {
$assert_session->assertWaitOnAjaxRequest();
// Assert that there are no sections on the page.
$assert_session->pageTextNotContains('Remove section');
$assert_session->pageTextNotContains('Add Block');
$assert_session->pageTextNotContains('Add block');
// Reload the page.
$this->drupalGet(static::FIELD_UI_PREFIX . '/display/default/layout');
// Assert that there are no sections on the page.
$assert_session->pageTextNotContains('Remove section');
$assert_session->pageTextNotContains('Add Block');
$assert_session->pageTextNotContains('Add block');
}
/**
......@@ -110,7 +110,7 @@ protected function assertModifiedLayout($path) {
$page = $this->getSession()->getPage();
$this->drupalGet($path);
$page->clickLink('Add Section');
$page->clickLink('Add section');
$assert_session->assertWaitOnAjaxRequest();
$assert_session->pageTextNotContains('You have unsaved changes.');
$page->clickLink('One column');
......@@ -140,7 +140,7 @@ public function testAddHighlights() {
$this->drupalGet(static::FIELD_UI_PREFIX . '/display/default/layout');
$assert_session->elementsCount('css', '.layout-builder__add-section', 2);
$assert_session->elementNotExists('css', '.is-layout-builder-highlighted');
$page->clickLink('Add Section');
$page->clickLink('Add section');
$this->assertNotEmpty($assert_session->waitForElement('css', '#drupal-off-canvas .item-list'));
$assert_session->assertWaitOnAjaxRequest();
......@@ -162,14 +162,14 @@ public function testAddHighlights() {
$assert_session->elementsCount('css', '.layout-builder__add-block', 3);
// Add a custom block.
$page->clickLink('Add Block');
$page->clickLink('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', 'a:contains("Create custom block")'));
$assert_session->assertWaitOnAjaxRequest();
// Highlight is present with ChooseBlockController::build().
$this->assertHighlightedElement('[data-layout-builder-highlight-id="block-0-first"]');
$page->clickLink('Create custom block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas input[value="Add Block"]'));
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas input[value="Add block"]'));
$assert_session->assertWaitOnAjaxRequest();
// Highlight is present with ChooseBlockController::inlineBlockList().
......@@ -178,12 +178,12 @@ public function testAddHighlights() {
$this->assertHighlightNotExists();
// The highlight should persist with all block config dialogs.
$page->clickLink('Add Block');
$page->clickLink('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', 'a:contains("Recent content")'));
$assert_session->assertWaitOnAjaxRequest();
$this->assertHighlightedElement('[data-layout-builder-highlight-id="block-0-first"]');
$page->clickLink('Recent content');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas input[value="Add Block"]'));
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas input[value="Add block"]'));
// The highlight is present with ConfigureBlockFormBase::doBuildForm().
$this->assertHighlightedElement('[data-layout-builder-highlight-id="block-0-first"]');
......
......@@ -64,7 +64,7 @@ protected function setUp() {
$this->assertRegionBlocksOrder(0, 'content', $expected_block_order);
// Add a top section using the Two column layout.
$page->clickLink('Add Section');
$page->clickLink('Add section');
$assert_session->waitForElementVisible('css', '#drupal-off-canvas');
$assert_session->assertWaitOnAjaxRequest();
$page->clickLink('Two column');
......@@ -80,9 +80,9 @@ protected function setUp() {
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas a:contains("Powered by Drupal")'));
$assert_session->assertWaitOnAjaxRequest();
$page->clickLink('Powered by Drupal');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', 'input[value="Add Block"]'));
$this->assertNotEmpty($assert_session->waitForElementVisible('css', 'input[value="Add block"]'));
$assert_session->assertWaitOnAjaxRequest();
$page->pressButton('Add Block');
$page->pressButton('Add block');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', $first_region_block_locator));
// Ensure the request has completed before the test starts.
......
......@@ -82,8 +82,8 @@ public function testWidthChange() {
];
foreach ($width_options as $width_option) {
$width = array_shift($width_option['widths']);
$assert_session->linkExists('Add Section');
$page->clickLink('Add Section');
$assert_session->linkExists('Add section');
$page->clickLink('Add section');
$this->assertNotEmpty($assert_session->waitForElementVisible('css', "#drupal-off-canvas a:contains(\"{$width_option['label']}\")"));
$page->clickLink($width_option['label']);
$this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas input[type="submit"][value="Add section"]'));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment