Mercurial > hg > isophonics-drupal-site
view core/tests/Drupal/FunctionalTests/Installer/InstallerExistingConfigSyncDirectoryProfileHookInstall.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 129ea1e6d783 |
children |
line wrap: on
line source
<?php namespace Drupal\FunctionalTests\Installer; /** * Verifies that profiles with hook_install() can't be installed from config. * * @group Installer */ class InstallerExistingConfigSyncDirectoryProfileHookInstall extends InstallerExistingConfigTestBase { /** * {@inheritdoc} */ protected $profile = 'testing_config_install_multilingual'; /** * {@inheritdoc} */ protected $existingSyncDirectory = TRUE; /** * {@inheritdoc} */ protected function visitInstaller() { // Create an .install file with a hook_install() implementation. $path = $this->siteDirectory . '/profiles/' . $this->profile; $contents = <<<EOF <?php function testing_config_install_multilingual_install() { } EOF; file_put_contents("$path/{$this->profile}.install", $contents); parent::visitInstaller(); } /** * Installer step: Select installation profile. */ protected function setUpProfile() { // This is the form we are testing so wait until the test method to do // assertions. return; } /** * Installer step: Requirements problem. */ protected function setUpRequirementsProblem() { // This form will never be reached. return; } /** * Installer step: Configure settings. */ protected function setUpSettings() { // This form will never be reached. return; } /** * Final installer step: Configure site. */ protected function setUpSite() { // This form will never be reached. return; } /** * {@inheritdoc} */ protected function getConfigTarball() { return __DIR__ . '/../../../fixtures/config_install/multilingual.tar.gz'; } /** * Tests installing from config is not available due to hook_INSTALL(). */ public function testConfigSync() { $this->assertSession()->titleEquals('Select an installation profile | Drupal'); $this->assertSession()->responseNotContains('Use existing configuration'); // Remove the install hook and the option to install from existing // configuration will be available. unlink("{$this->siteDirectory}/profiles/{$this->profile}/{$this->profile}.install"); $this->getSession()->reload(); $this->assertSession()->titleEquals('Select an installation profile | Drupal'); $this->assertSession()->responseContains('Use existing configuration'); } }