protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->factory->addInstallers($this->installers);
     $this->install->runInstallation($this->installers);
     $envDumper = new EnvDumper();
     $envDumper->dump($this->installers->mergeEnv(), $this->envFile);
     // Progress bar does not end with a newline.
     $output->writeln('');
 }
 public function testMergeEnv()
 {
     $installer1 = new DummyInstaller();
     $installer1->addEnv('FOO', 'bar');
     $installer1->addEnv('THIS', 'notThat');
     $installer2 = new DummyInstaller();
     $installer2->addEnv('BAT', 'baz');
     $installer2->addEnv('THIS', 'that');
     $installers = new InstallerCollection(new InstallOutput());
     $installers->add($installer1);
     $installers->add($installer2);
     $expected = ['FOO' => 'bar', 'BAT' => 'baz', 'THIS' => 'that'];
     $this->assertEquals($expected, $installers->mergeEnv());
 }