protected function AutosaveFormTestBase::waitForAutosaveSubmits in Autosave Form 8
Waits until a specific count of autosave submits have been triggered.
Parameters
$count: The count of the autosave submits to wait for.
Return value
bool TRUE, if the autosave submits have occurred, FALSE otherwise.
6 calls to AutosaveFormTestBase::waitForAutosaveSubmits()
- ContentEntityAutosaveFormTestBase::doTestAutosaveAfterFormValidationFail in tests/src/ FunctionalJavascript/ ContentEntity/ ContentEntityAutosaveFormTestBase.php 
- Tests the autosave message not being shown on reload after validation fail.
- ContentEntityAutosaveFormTestBase::doTestAutosaveFormExistingEntity in tests/src/ FunctionalJavascript/ ContentEntity/ ContentEntityAutosaveFormTestBase.php 
- Tests the autosave support on entity forms.
- ContentEntityAutosaveFormTestBase::doTestAutosaveStatesPurgingOnConfigEvent in tests/src/ FunctionalJavascript/ ContentEntity/ ContentEntityAutosaveFormTestBase.php 
- Tests that autosave states are purged on modifying a form related config.
- ContentEntityAutosaveFormTestBase::doTestConcurrentEditing in tests/src/ FunctionalJavascript/ ContentEntity/ ContentEntityAutosaveFormTestBase.php 
- Tests concurrent editing.
- ContentEntityAutosaveFormTestBase::doTestSavingRestoredEntityForm in tests/src/ FunctionalJavascript/ ContentEntity/ ContentEntityAutosaveFormTestBase.php 
- Tests saving an entity form restored from an autosaved state.
File
- tests/src/ FunctionalJavascript/ AutosaveFormTestBase.php, line 143 
Class
- AutosaveFormTestBase
- Basic functionality for autosave form tests.
Namespace
Drupal\Tests\autosave_form\FunctionalJavascriptCode
protected function waitForAutosaveSubmits($count) {
  /** @var \Drupal\Core\State\StateInterface $state */
  $state = \Drupal::state();
  $state
    ->resetCache();
  $start_count = $state
    ->get('autosave_submit_count', 0);
  // Define a timeout for the autosave submissions by multiplying the .
  $system_slowness_factor = 5;
  $timeout = $this->interval / 1000 * $system_slowness_factor * $count;
  $deadline_time = time() + $timeout;
  while (TRUE) {
    $state
      ->resetCache();
    $current_count = $state
      ->get('autosave_submit_count', 0);
    if ($current_count >= $start_count + $count) {
      return TRUE;
    }
    if (time() >= $deadline_time) {
      return FALSE;
    }
    // sleep for 0.1 second.
    usleep(100000);
  }
}