Issue #3358048 by mglaman, dww, amateescu: Do not use persist tag for keyvalue.memory in KernelTestBase

(cherry picked from commit e129b1e061)
merge-requests/3947/head
catch 2023-05-04 13:43:36 +01:00 committed by Dave Long
parent 3fd342d71a
commit 504500280f
No known key found for this signature in database
GPG Key ID: ED52AE211E142771
1 changed files with 16 additions and 3 deletions

View File

@ -194,6 +194,13 @@ abstract class KernelTestBase extends TestCase implements ServiceProviderInterfa
*/
protected $configImporter;
/**
* The key_value service that must persist between container rebuilds.
*
* @var \Drupal\Core\KeyValueStore\KeyValueMemoryFactory
*/
protected $keyValue;
/**
* The app root.
*
@ -544,12 +551,18 @@ abstract class KernelTestBase extends TestCase implements ServiceProviderInterfa
$container
->register('cache_factory', 'Drupal\Core\Cache\MemoryBackendFactory');
$container
->register('keyvalue.memory', 'Drupal\Core\KeyValueStore\KeyValueMemoryFactory')
// Must persist container rebuilds, or all data would vanish otherwise.
->addTag('persist');
->register('keyvalue.memory', 'Drupal\Core\KeyValueStore\KeyValueMemoryFactory');
$container
->setAlias('keyvalue', 'keyvalue.memory');
// Must persist container rebuilds, or all data would vanish otherwise.
if ($this->keyValue !== NULL) {
$container->set('keyvalue.memory', $this->keyValue);
}
else {
$this->keyValue = $container->get('keyvalue.memory');
}
// Set the default language on the minimal container.
$container->setParameter('language.default_values', Language::$defaultValues);