getSession(); $web_assert = $this->assertSession(); $page = $session->getPage(); $admin_user = $this->drupalCreateUser([ 'administer views', 'administer blocks', ]); $this->drupalLogin($admin_user); $custom_ajax_progress_indicator_fullscreen = <<'; }; JS; $custom_ajax_progress_throbber = <<'; }; JS; $custom_ajax_progress_message = <<Hold door!'; }; JS; $this->drupalGet('admin/structure/views/view/content'); $web_assert->assertNoElementAfterWait('css', '.ajax-progress-fullscreen'); // Test theming fullscreen throbber. $session->executeScript($custom_ajax_progress_indicator_fullscreen); HoldTestHelper::responseHold(TRUE); $page->clickLink('Content: Published (grouped)'); $this->assertNotNull($web_assert->waitForElement('css', '.custom-ajax-progress-fullscreen'), 'Custom ajaxProgressIndicatorFullscreen.'); HoldTestHelper::responseHold(FALSE); $web_assert->assertNoElementAfterWait('css', '.custom-ajax-progress-fullscreen'); // Test theming throbber message. $web_assert->waitForElementVisible('css', '[data-drupal-selector="edit-options-group-info-add-group"]'); $session->executeScript($custom_ajax_progress_message); HoldTestHelper::responseHold(TRUE); $page->pressButton('Add another item'); $this->assertNotNull($web_assert->waitForElement('css', '.ajax-progress-throbber .custom-ajax-progress-message'), 'Custom ajaxProgressMessage.'); HoldTestHelper::responseHold(FALSE); $web_assert->assertNoElementAfterWait('css', '.ajax-progress-throbber'); // Test theming throbber. $web_assert->waitForElementVisible('css', '[data-drupal-selector="edit-options-group-info-group-items-3-title"]'); $session->executeScript($custom_ajax_progress_throbber); HoldTestHelper::responseHold(TRUE); $page->pressButton('Add another item'); $this->assertNotNull($web_assert->waitForElement('css', '.custom-ajax-progress-throbber'), 'Custom ajaxProgressThrobber.'); HoldTestHelper::responseHold(FALSE); $web_assert->assertNoElementAfterWait('css', '.custom-ajax-progress-throbber'); // Test progress throbber position on a dropbutton in a table display. $this->drupalGet('/admin/structure/block'); $this->clickLink('Place block'); $web_assert->assertWaitOnAjaxRequest(); $this->assertNotEmpty($web_assert->waitForElementVisible('css', '#drupal-modal')); HoldTestHelper::responseHold(TRUE); $this->clickLink('Place block'); $this->assertNotNull($web_assert->waitForElement('xpath', '//div[contains(@class, "dropbutton-wrapper")]/following-sibling::div[contains(@class, "ajax-progress-throbber")]')); HoldTestHelper::responseHold(FALSE); $web_assert->assertNoElementAfterWait('css', '.ajax-progress-throbber'); } }