diff --git a/core/modules/system/src/Tests/Installer/InstallerSiteConfigDefaultTest.php b/core/modules/system/src/Tests/Installer/InstallerSiteConfigDefaultTest.php new file mode 100644 index 0000000000..1117bea095 --- /dev/null +++ b/core/modules/system/src/Tests/Installer/InstallerSiteConfigDefaultTest.php @@ -0,0 +1,33 @@ +assertFieldByName('site_mail', ini_get('sendmail_from')); + $this->assertFieldByName('date_default_timezone', @date_default_timezone_get()); + + return parent::setUpSite(); + } + + /** + * Verify the correct site config was set. + */ + public function testInstaller() { + $this->assertEqual(\Drupal::config('system.site')->get('mail'), $this->parameters['forms']['install_configure_form']['site_mail']); + $this->assertEqual(\Drupal::config('system.date')->get('timezone.default'), @date_default_timezone_get()); + } + +} diff --git a/core/modules/system/src/Tests/Installer/InstallerSiteConfigProfileTest.php b/core/modules/system/src/Tests/Installer/InstallerSiteConfigProfileTest.php new file mode 100644 index 0000000000..08ba200e38 --- /dev/null +++ b/core/modules/system/src/Tests/Installer/InstallerSiteConfigProfileTest.php @@ -0,0 +1,79 @@ +expectedTimezone = 'America/Los_Angeles'; + if ($this->expectedTimezone == @date_default_timezone_get()) { + $this->expectedTimezone = 'America/New_York'; + } + + return parent::setUp(); + } + + /** + * {@inheritdoc} + */ + protected function installParameters() { + $parameters = parent::installParameters(); + + // Don't override the site email address, allowing it to default to the one + // from our install profile. + unset($parameters['forms']['install_configure_form']['site_mail']); + + return $parameters; + } + + /** + * {@inheritdoc} + */ + protected function setUpSite() { + $this->assertFieldByName('site_mail', self::EXPECTED_SITE_MAIL); + $this->assertFieldByName('date_default_timezone', $this->expectedTimezone); + + return parent::setUpSite(); + } + + /** + * Verify the correct site config was set. + */ + public function testInstaller() { + $this->assertEqual(\Drupal::config('system.site')->get('mail'), self::EXPECTED_SITE_MAIL); + $this->assertEqual(\Drupal::config('system.date')->get('timezone.default'), $this->expectedTimezone); + } + +} diff --git a/core/profiles/testing_site_config/testing_site_config.info.yml b/core/profiles/testing_site_config/testing_site_config.info.yml new file mode 100644 index 0000000000..31a390557e --- /dev/null +++ b/core/profiles/testing_site_config/testing_site_config.info.yml @@ -0,0 +1,6 @@ +name: Testing site config +type: profile +description: 'Minimal profile for testing with default site config.' +version: VERSION +core: 8.x +hidden: true diff --git a/core/profiles/testing_site_config/testing_site_config.install b/core/profiles/testing_site_config/testing_site_config.install new file mode 100644 index 0000000000..954e4a0b66 --- /dev/null +++ b/core/profiles/testing_site_config/testing_site_config.install @@ -0,0 +1,20 @@ +getEditable('system.site') + ->set('mail', 'profile-testing-site-config@example.com') + ->save(TRUE); + + // Set the time zone to something that is not the system timezone. + $timezone = 'America/Los_Angeles'; + if ($timezone == @date_default_timezone_get()) { + $timezone = 'America/New_York'; + } + \Drupal::configFactory()->getEditable('system.date') + ->set('timezone.default', $timezone) + ->save(TRUE); +}