/**
  * @test
  */
 public function itIncludesASettingsFile()
 {
     $listener = new InclusionSettingsFileListener('/foo/bar.php');
     $dispatcher = $this->getDispatcher($listener);
     $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($this->generateDrupal()));
     $this->assertSame('require "/foo/bar.php";', $event->getSettings());
 }
 /**
  * @param SiteEvent $event
  */
 public function onSettingUpSite(SiteEvent $event)
 {
     $drupal = $event->getDrupal();
     $this->eventDispatcher->dispatch(WritingSiteSettingsFile::NAME, $settings = new WritingSiteSettingsFile($drupal));
     $this->filesystem->mkdir($drupal->getSitePath());
     file_put_contents($drupal->getSitePath() . '/settings.php', '<?php ' . $settings->getSettings());
 }
 /**
  * @test
  */
 public function itWritesToTheSettingsFile()
 {
     $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard');
     $listener = new HashSaltSettingsFileListener(new StaticStringGenerator('baz'));
     $dispatcher = $this->getDispatcher($listener);
     $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal));
     $this->assertSame('$drupal_hash_salt = "baz";', $event->getSettings());
 }
 /**
  * @test
  */
 public function itWritesToTheSettingsFile()
 {
     $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard');
     $listener = new BaseUrlSettingsFileListener();
     $dispatcher = $this->getDispatcher($listener);
     $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal));
     $this->assertSame('$base_url = "http://localhost";', $event->getSettings());
 }
 /**
  * @test
  */
 public function itWritesToTheSettingsFile()
 {
     $drupal = new Drupal('/foo/bar', 'http://localhost/', 'standard');
     $listener = new FilePathSettingsFileListener(new StaticStringGenerator('baz'));
     $dispatcher = $this->getDispatcher($listener);
     $dispatcher->dispatch(WritingSiteSettingsFile::NAME, $event = new WritingSiteSettingsFile($drupal));
     $this->assertContains('$conf["file_public_path"] = "' . $drupal->getLocalPath() . '/files";', $event->getSettings());
     $this->assertContains('$conf["file_private_path"] = "' . $drupal->getLocalPath() . '/private";', $event->getSettings());
     $this->assertContains('$conf["file_temporary_path"] = "' . sys_get_temp_dir() . '/isolated-drupal-behat/baz";', $event->getSettings());
 }
    /**
     * @param WritingSiteSettingsFile $event
     */
    public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
    {
        $url = parse_url($this->dbUri);
        $url += ['scheme' => '', 'path' => '', 'user' => '', 'pass' => '', 'host' => '', 'port' => ''];
        $database = array(':driver' => $url['scheme'] == 'mysqli' ? 'mysql' : $url['scheme'], ':database' => ltrim(urldecode($url['path']), '/'), ':username' => urldecode($url['user']), ':password' => urldecode($url['pass']), ':host' => urldecode($url['host']), ':port' => urldecode($url['port']));
        $event->addSettings(strtr('$databases = [
  "default" =>
    [
      "default" =>
        [
          "driver" => ":driver",
          "database" => ":database",
          "username" => ":username",
          "password" => ":password",
          "host" => ":host",
          "port" => ":port",
          "prefix" => "",
        ],
    ],
];', $database));
    }
 /**
  * @param WritingSiteSettingsFile $event
  */
 public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
 {
     if (!empty($this->settingsFile)) {
         $event->addSettings('require "' . $this->settingsFile . '";');
     }
 }
 /**
  * @param WritingSiteSettingsFile $event
  */
 public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
 {
     $uri = rtrim($event->getDrupal()->getUri(), '/');
     $event->addSettings('$base_url = "' . $uri . '";');
 }
 /**
  * @param WritingSiteSettingsFile $event
  */
 public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
 {
     $event->addSettings('$conf["file_public_path"] = "' . $event->getDrupal()->getLocalPath() . '/files";');
     $event->addSettings('$conf["file_private_path"] = "' . $event->getDrupal()->getLocalPath() . '/private";');
     $event->addSettings('$conf["file_temporary_path"] = "' . sys_get_temp_dir() . '/isolated-drupal-behat/' . $this->generator->generate() . '";');
 }
 /**
  * @param WritingSiteSettingsFile $event
  */
 public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
 {
     $event->addSettings($this->php);
 }
 /**
  * @param WritingSiteSettingsFile $event
  */
 public function onWritingSiteSettingsFile(WritingSiteSettingsFile $event)
 {
     $event->addSettings('$drupal_hash_salt = "' . $this->generator->generate() . '";');
 }