1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace Drupal\Tests;
- use Drupal\Core\Config\ConfigImporter;
- use Drupal\Core\Config\StorageComparer;
- use Drupal\Core\Config\StorageInterface;
- /**
- * Provides helper methods to deal with config system objects in tests.
- */
- trait ConfigTestTrait {
- /**
- * Returns a ConfigImporter object to import test configuration.
- *
- * @return \Drupal\Core\Config\ConfigImporter
- * The config importer object.
- */
- protected function configImporter() {
- if (!$this->configImporter) {
- // Set up the ConfigImporter object for testing.
- $storage_comparer = new StorageComparer(
- $this->container->get('config.storage.sync'),
- $this->container->get('config.storage'),
- $this->container->get('config.manager')
- );
- $this->configImporter = new ConfigImporter(
- $storage_comparer,
- $this->container->get('event_dispatcher'),
- $this->container->get('config.manager'),
- $this->container->get('lock'),
- $this->container->get('config.typed'),
- $this->container->get('module_handler'),
- $this->container->get('module_installer'),
- $this->container->get('theme_handler'),
- $this->container->get('string_translation')
- );
- }
- // Always recalculate the changelist when called.
- return $this->configImporter->reset();
- }
- /**
- * Copies configuration objects from source storage to target storage.
- *
- * @param \Drupal\Core\Config\StorageInterface $source_storage
- * The source config storage service.
- * @param \Drupal\Core\Config\StorageInterface $target_storage
- * The target config storage service.
- */
- protected function copyConfig(StorageInterface $source_storage, StorageInterface $target_storage) {
- $target_storage->deleteAll();
- foreach ($source_storage->listAll() as $name) {
- $target_storage->write($name, $source_storage->read($name));
- }
- }
- }
|