You are here

public function PluginTestBase::testStateStorageAndRetrieval in Purge 8.3

Test overal state storage and retrieval.

See also

\Drupal\purge\Plugin\Purge\Invalidation\InvalidationInterface::setState

\Drupal\purge\Plugin\Purge\Invalidation\InvalidationInterface::setStateContext

\Drupal\purge\Plugin\Purge\Invalidation\InvalidationInterface::getState

\Drupal\purge\Plugin\Purge\Invalidation\InvalidationInterface::getStateString

File

tests/src/Kernel/Invalidation/PluginTestBase.php, line 366

Class

PluginTestBase
Provides an abstract test class to thoroughly test invalidation types.

Namespace

Drupal\Tests\purge\Kernel\Invalidation

Code

public function testStateStorageAndRetrieval() : void {
  $i = $this
    ->getInstance();

  // Test setting normal states results in the same return state.
  $test_states = [
    InvalidationInterface::PROCESSING => 'PROCESSING',
    InvalidationInterface::SUCCEEDED => 'SUCCEEDED',
    InvalidationInterface::FAILED => 'FAILED',
    InvalidationInterface::NOT_SUPPORTED => 'NOT_SUPPORTED',
  ];
  $context = 0;
  $i
    ->setStateContext((string) $context);
  foreach ($test_states as $state => $string) {
    $this
      ->assertNull($i
      ->setStateContext((string) $context++));
    $this
      ->assertNull($i
      ->setState($state));
    $this
      ->assertEquals($i
      ->getState(), $state);
    $this
      ->assertEquals($i
      ->getStateString(), $string);
  }
  $i
    ->setStateContext(NULL);
}