32 lines
895 B
PHP
32 lines
895 B
PHP
<?php
|
|
|
|
namespace Drupal\FunctionalJavascriptTests;
|
|
|
|
use Drupal\Tests\WebAssert;
|
|
|
|
/**
|
|
* Defines a class with methods for asserting presence of elements during tests.
|
|
*/
|
|
class JSWebAssert extends WebAssert {
|
|
|
|
/**
|
|
* Waits for AJAX request to be completed.
|
|
*
|
|
* @param int $timeout
|
|
* (Optional) Timeout in milliseconds, defaults to 10000.
|
|
* @param string $message
|
|
* (optional) A message for exception.
|
|
*
|
|
* @throws \RuntimeException
|
|
* When the request is not completed. If left blank, a default message will
|
|
* be displayed.
|
|
*/
|
|
public function assertWaitOnAjaxRequest($timeout = 10000, $message = 'Unable to complete AJAX request.') {
|
|
$result = $this->session->wait($timeout, '(typeof(jQuery)=="undefined" || (0 === jQuery.active && 0 === jQuery(\':animated\').length))');
|
|
if (!$result) {
|
|
throw new \RuntimeException($message);
|
|
}
|
|
}
|
|
|
|
}
|