diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigFormOverrideTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigFormOverrideTest.php index 2153952..5a22e90 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigFormOverrideTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigFormOverrideTest.php @@ -31,19 +31,31 @@ public static function getInfo() { public function testFormsWithOverrides() { $this->drupalLogin($this->drupalCreateUser(array('access administration pages', 'administer site configuration'))); - $overridden_name = $GLOBALS['config']['system.site']['name'] = 'Site name global conf override'; - $config_factory = \Drupal::configFactory(); - $config_factory->setOverrideState(FALSE); + $overridden_name = 'Site name global conf override'; + // Set up an override. + $settings['config']['system.site']['name'] = (object) array( + 'value' => $overridden_name, + 'required' => TRUE, + ); + $this->writeSettings($settings); + \Drupal::configFactory()->setOverrideState(TRUE); + + // Test that everything on the form is the same, but that the override + // worked for the actual site name. $this->drupalGet('admin/config/system/site-information'); - $this->assertText($overridden_name); + $this->assertTitle('Site information | ' . $overridden_name); + $elements = $this->xpath('//input[@name="site_name"]'); + $this->assertIdentical((string) $elements[0]['value'], 'Drupal'); - $config_factory->setOverrideState(TRUE); - $this->drupalGet('admin/config/system/site-information'); - $this->assertNoText($overridden_name); - - $this->drupalPostForm('admin/config/system/site-information', array(), t('Save configuration')); - $this->assertNotEqual($overridden_name, $config_factory->get('system.site')->get('name')); + // Submit the form and ensure the site name is not changed. + $edit = array( + 'site_name' => 'Custom site name', + ); + $this->drupalPostForm('admin/config/system/site-information', $edit, t('Save configuration')); + $this->assertTitle('Site information | ' . $overridden_name); + $elements = $this->xpath('//input[@name="site_name"]'); + $this->assertIdentical((string) $elements[0]['value'], $edit['site_name']); } }