class ConfigOverridesPriorityTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Config/ConfigOverridesPriorityTest.php \Drupal\KernelTests\Core\Config\ConfigOverridesPriorityTest
- 10 core/tests/Drupal/KernelTests/Core/Config/ConfigOverridesPriorityTest.php \Drupal\KernelTests\Core\Config\ConfigOverridesPriorityTest
- 9 core/tests/Drupal/KernelTests/Core/Config/ConfigOverridesPriorityTest.php \Drupal\KernelTests\Core\Config\ConfigOverridesPriorityTest
- 8.9.x core/tests/Drupal/KernelTests/Core/Config/ConfigOverridesPriorityTest.php \Drupal\KernelTests\Core\Config\ConfigOverridesPriorityTest
Tests that config overrides are applied in the correct order.
Overrides should be applied in the following order, from lowest priority to highest:
- Language overrides.
- Module overrides.
- settings.php overrides.
Attributes
#[Group('config')]#[RunTestsInSeparateProcesses]
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\Tests\DrupalTestCaseTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\Config\ConfigOverridesPriorityTest extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of ConfigOverridesPriorityTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigOverridesPriorityTest.php, line 21
Namespace
Drupal\KernelTests\Core\ConfigView source
class ConfigOverridesPriorityTest extends KernelTestBase { /** * {@inheritdoc} */ protected static $modules = [ 'system', 'config_override_test', 'language', ]; /** * Tests the order of config overrides. */ public function testOverridePriorities() : void { $GLOBALS['config_test_run_module_overrides'] = FALSE; $non_overridden_mail = 'site@example.com'; $language_overridden_mail = 'french@example.com'; $language_overridden_name = 'French site name'; $module_overridden_name = 'Wow overridden site name'; $non_overridden_name = 'Wow this name is on disk mkay'; $module_overridden_slogan = 'Yay for overrides!'; $non_overridden_slogan = 'Yay for defaults!'; /** @var \Drupal\Core\Config\ConfigFactoryInterface $config_factory */ $config_factory = $this->container ->get('config.factory'); $config_factory->getEditable('system.site') ->set('name', $non_overridden_name) ->set('slogan', $non_overridden_slogan) ->set('mail', $non_overridden_mail) ->set('weight_select_max', 50) ->set('langcode', 'en') ->save(); // Ensure that no overrides are applying. $this->assertEquals($non_overridden_name, $config_factory->get('system.site') ->get('name')); $this->assertEquals($non_overridden_slogan, $config_factory->get('system.site') ->get('slogan')); $this->assertEquals($non_overridden_mail, $config_factory->get('system.site') ->get('mail')); $this->assertEquals(50, $config_factory->get('system.site') ->get('weight_select_max')); // Override using language. $language = new Language([ 'name' => 'French', 'id' => 'fr', ]); \Drupal::languageManager()->setConfigOverrideLanguage($language); \Drupal::languageManager()->getLanguageConfigOverride($language->getId(), 'system.site') ->set('name', $language_overridden_name) ->set('mail', $language_overridden_mail) ->save(); $this->assertEquals($language_overridden_name, $config_factory->get('system.site') ->get('name')); $this->assertEquals($non_overridden_slogan, $config_factory->get('system.site') ->get('slogan')); $this->assertEquals($language_overridden_mail, $config_factory->get('system.site') ->get('mail')); $this->assertEquals(50, $config_factory->get('system.site') ->get('weight_select_max')); // Enable module overrides. Do not override system.site:mail to prove that // the language override still applies. $GLOBALS['config_test_run_module_overrides'] = TRUE; $config_factory->reset('system.site'); $this->assertEquals($module_overridden_name, $config_factory->get('system.site') ->get('name')); $this->assertEquals($module_overridden_slogan, $config_factory->get('system.site') ->get('slogan')); $this->assertEquals($language_overridden_mail, $config_factory->get('system.site') ->get('mail')); $this->assertEquals(50, $config_factory->get('system.site') ->get('weight_select_max')); // Configure a global override to simulate overriding using settings.php. Do // not override system.site:mail or system.site:slogan to prove that the // language and module overrides still apply. $GLOBALS['config']['system.site']['name'] = 'Site name global conf override'; $config_factory->reset('system.site'); $this->assertEquals('Site name global conf override', $config_factory->get('system.site') ->get('name')); $this->assertEquals($module_overridden_slogan, $config_factory->get('system.site') ->get('slogan')); $this->assertEquals($language_overridden_mail, $config_factory->get('system.site') ->get('mail')); $this->assertEquals(50, $config_factory->get('system.site') ->get('weight_select_max')); $this->assertEquals($non_overridden_name, $config_factory->get('system.site') ->getOriginal('name', FALSE)); $this->assertEquals($non_overridden_slogan, $config_factory->get('system.site') ->getOriginal('slogan', FALSE)); $this->assertEquals($non_overridden_mail, $config_factory->get('system.site') ->getOriginal('mail', FALSE)); $this->assertEquals(50, $config_factory->get('system.site') ->getOriginal('weight_select_max', FALSE)); unset($GLOBALS['config_test_run_module_overrides']); } }Members
Title Sort descending Deprecated Modifiers Object type Summary Overriden Title Overrides AssertContentTrait::$content protected property The current raw content. AssertContentTrait::$drupalSettings protected property The drupalSettings value from the current raw $content. AssertContentTrait::$elements protected property The XML structure parsed from the current raw $content. 1 AssertContentTrait::$plainTextContent protected property The plain-text content of raw $content (text nodes). AssertContentTrait::assertEscaped protected function Passes if the raw text IS found escaped on the loaded page, fail otherwise. AssertContentTrait::assertField protected function Asserts that a field exists with the given name or ID. AssertContentTrait::assertFieldById Deprecated protected function Asserts that a field exists with the given ID and value. AssertContentTrait::assertFieldByName protected function Asserts that a field exists with the given name and value. AssertContentTrait::assertFieldByXPath protected function Asserts that a field exists in the current page by the given XPath. AssertContentTrait::assertFieldChecked Deprecated protected function Asserts that a checkbox field in the current page is checked. AssertContentTrait::assertFieldsByValue protected function Asserts that a field exists in the current page with a given Xpath result. AssertContentTrait::assertLink protected function Passes if a link with the specified label is found. AssertContentTrait::assertLinkByHref protected function Passes if a link containing a given href (part) is found. AssertContentTrait::assertNoDuplicateIds Deprecated protected function Asserts that each HTML ID is used for just a single element. AssertContentTrait::assertNoEscaped protected function Passes if raw text IS NOT found escaped on loaded page, fail otherwise. AssertContentTrait::assertNoField Deprecated protected function Asserts that a field does not exist with the given name or ID. AssertContentTrait::assertNoFieldById Deprecated protected function Asserts that a field does not exist with the given ID and value. AssertContentTrait::assertNoFieldByName Deprecated protected function Asserts that a field does not exist with the given name and value. AssertContentTrait::assertNoFieldByXPath Deprecated protected function Asserts that a field does not exist or its value does not match, by XPath. AssertContentTrait::assertNoFieldChecked Deprecated protected function Asserts that a checkbox field in the current page is not checked. AssertContentTrait::assertNoLink protected function Passes if a link with the specified label is not found. AssertContentTrait::assertNoLinkByHref Deprecated protected function Passes if a link containing a given href (part) is not found. AssertContentTrait::assertNoLinkByHrefInMainRegion Deprecated protected function Passes if a link containing a given href is not found in the main region. AssertContentTrait::assertNoOption Deprecated protected function Asserts that a select option in the current page does not exist. AssertContentTrait::assertNoOptionSelected Deprecated protected function Asserts that a select option in the current page is not checked. AssertContentTrait::assertNoPattern protected function Triggers a pass if the perl regex pattern is not found in raw content. AssertContentTrait::assertNoRaw protected function Passes if the raw text is NOT found on the loaded page, fail otherwise. AssertContentTrait::assertNoText protected function Passes if the page (with HTML stripped) does not contains the text. AssertContentTrait::assertNoTitle protected function Pass if the page title is not the given string. AssertContentTrait::assertNoUniqueText Deprecated protected function Passes if the text is found MORE THAN ONCE on the text version of the page. AssertContentTrait::assertOption protected function Asserts that a select option in the current page exists. AssertContentTrait::assertOptionByText Deprecated protected function Asserts that a select option with the visible text exists. AssertContentTrait::assertOptionSelected Deprecated protected function Asserts that a select option in the current page is checked. AssertContentTrait::assertOptionSelectedWithDrupalSelector Deprecated protected function Asserts that a select option in the current page is checked. AssertContentTrait::assertOptionWithDrupalSelector protected function Asserts that a select option in the current page exists. AssertContentTrait::assertPattern protected function Triggers a pass if the Perl regex pattern is found in the raw content. AssertContentTrait::assertRaw protected function Passes if the raw text IS found on the loaded page, fail otherwise. AssertContentTrait::assertText protected function Passes if the page (with HTML stripped) contains the text. AssertContentTrait::assertTextHelper protected function Helper for assertText and assertNoText. AssertContentTrait::assertTextPattern Deprecated protected function Asserts that a Perl regex pattern is found in the plain-text content. AssertContentTrait::assertThemeOutput protected function Asserts themed output. AssertContentTrait::assertTitle protected function Pass if the page title is the given string. AssertContentTrait::assertUniqueText Deprecated protected function Passes if the text is found ONLY ONCE on the text version of the page. AssertContentTrait::assertUniqueTextHelper Deprecated protected function Helper for assertUniqueText and assertNoUniqueText. AssertContentTrait::buildXPathQuery protected function Builds an XPath query. AssertContentTrait::constructFieldXpath protected function Helper: Constructs an XPath for the given set of attributes and value. AssertContentTrait::cssSelect protected function Searches elements using a CSS selector in the raw content. AssertContentTrait::getAllOptions protected function Get all option elements, including nested options, in a select. AssertContentTrait::getDrupalSettings protected function Gets the value of drupalSettings for the currently-loaded page. AssertContentTrait::getRawContent protected function Gets the current raw content. AssertContentTrait::getSelectedItem protected function Get the selected value from a select field. AssertContentTrait::getTextContent protected function Retrieves the plain-text content from the current raw content. AssertContentTrait::parse protected function Parse content returned from curlExec using DOM and SimpleXML. AssertContentTrait::removeWhiteSpace protected function Removes all white-space between HTML tags from the raw content. AssertContentTrait::setDrupalSettings protected function Sets the value of drupalSettings for the currently-loaded page. AssertContentTrait::setRawContent protected function Sets the raw content (e.g. HTML). AssertContentTrait::xpath protected function Performs an xpath search on the contents of the internal browser. ConfigOverridesPriorityTest::$modules protected static property Modules to install. Overrides KernelTestBase::$modules ConfigOverridesPriorityTest::testOverridePriorities public function Tests the order of config overrides. ConfigTestTrait::configImporter protected function Returns a ConfigImporter object to import test configuration. ConfigTestTrait::copyConfig protected function Copies configuration objects from source storage to target storage. DrupalTestCaseTrait::checkErrorHandlerOnTearDown public function Checks the test error handler after test execution. ExpectDeprecationTrait::expectDeprecation Deprecated public function Adds an expected deprecation. ExpectDeprecationTrait::regularExpressionForFormatDescription private function ExtensionListTestTrait::getModulePath protected function Gets the path for the specified module. ExtensionListTestTrait::getThemePath protected function Gets the path for the specified theme. KernelTestBase::$classLoader protected property The class loader. KernelTestBase::$configImporter protected property The configuration importer. 6 KernelTestBase::$configSchemaCheckerExclusions protected static property An array of config object names that are excluded from schema checking. 4 KernelTestBase::$container protected property The test container. KernelTestBase::$databasePrefix protected property The test database prefix. KernelTestBase::$keyValue protected property The key_value service that must persist between container rebuilds. KernelTestBase::$root protected property The app root. KernelTestBase::$siteDirectory protected property The relative path to the test site directory. KernelTestBase::$strictConfigSchema protected property Set to TRUE to strict check all configuration saved. 9 KernelTestBase::$usesSuperUserAccessPolicy protected property Set to TRUE to make user 1 a super user. 1 KernelTestBase::$vfsRoot protected property The virtual filesystem root directory. KernelTestBase::assertPostConditions protected function 1 KernelTestBase::bootEnvironment protected function Bootstraps a basic test environment. KernelTestBase::bootKernel protected function Bootstraps a kernel for a test. 1 KernelTestBase::config protected function Configuration accessor for tests. Returns non-overridden configuration. KernelTestBase::disableModules protected function Disables modules for this test. KernelTestBase::enableModules protected function Enables modules for this test. 2 KernelTestBase::getConfigSchemaExclusions protected function Gets the config schema exclusions for this test. KernelTestBase::getDatabaseConnectionInfo protected function Returns the Database connection info to be used for this test. 3 KernelTestBase::getDatabasePrefix public function Gets the database prefix used for test isolation. KernelTestBase::getExtensionsForModules private function Returns Extension objects for $modules to install. KernelTestBase::getModulesToEnable protected static function Returns the modules to install for this test. KernelTestBase::initFileCache protected function Initializes the FileCache component. KernelTestBase::installConfig protected function Installs default configuration for a given list of modules. KernelTestBase::installEntitySchema protected function Installs the storage schema for a specific entity type. KernelTestBase::installSchema protected function Installs database tables from a module schema definition. KernelTestBase::register public function Registers test-specific services. Overrides ServiceProviderInterface::register 37 KernelTestBase::render protected function Renders a render array. 1 KernelTestBase::setDebugDumpHandler public static function Registers the dumper CLI handler when the DebugDump extension is enabled. KernelTestBase::setInstallProfile protected function Sets the install profile and rebuilds the container to update it. KernelTestBase::setSetting protected function Sets an in-memory Settings variable. KernelTestBase::setUp protected function 435 KernelTestBase::setUpFilesystem protected function Sets up the filesystem, so things like the file directory. 3 KernelTestBase::tearDown protected function 9 KernelTestBase::tearDownCloseDatabaseConnection public function Additional tear down method to close the connection at the end. KernelTestBase::vfsDump protected function Dumps the current state of the virtual filesystem to STDOUT. KernelTestBase::__construct public function KernelTestBase::__sleep public function Prevents serializing any properties. RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods. RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers. RandomGeneratorTrait::randomObject public function Generates a random PHP object. RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126. StorageCopyTrait::replaceStorageContents protected static function Copy the configuration from one storage to another and remove stale items. TestRequirementsTrait::getDrupalRoot protected static function Returns the Drupal root directory. Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\Tests\DrupalTestCaseTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase