forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
61 lines
1.9 KiB
PHP
61 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace Drupal\Tests;
|
|
|
|
use Drupal\Core\Config\ConfigImporter;
|
|
use Drupal\Core\Config\StorageComparer;
|
|
use Drupal\Core\Config\StorageCopyTrait;
|
|
use Drupal\Core\Config\StorageInterface;
|
|
|
|
/**
|
|
* Provides helper methods to deal with config system objects in tests.
|
|
*/
|
|
trait ConfigTestTrait {
|
|
|
|
use StorageCopyTrait;
|
|
|
|
/**
|
|
* 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->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'),
|
|
$this->container->get('extension.list.module'),
|
|
$this->container->get('extension.list.theme')
|
|
);
|
|
}
|
|
// 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) {
|
|
static::replaceStorageContents($source_storage, $target_storage);
|
|
}
|
|
|
|
}
|