![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/codeception/codeception/src/Codeception/Command/Shared/ |
<?php declare(strict_types=1); namespace Codeception\Command\Shared; use Codeception\Configuration; use InvalidArgumentException; use Symfony\Component\Console\Exception\InvalidOptionException; use Symfony\Component\Yaml\Exception\ParseException; use Symfony\Component\Yaml\Yaml; use function array_merge_recursive; use function array_pop; use function array_shift; use function class_exists; use function count; use function explode; use function str_repeat; use function ucfirst; trait ConfigTrait { protected function getSuiteConfig(string $suite): array { return Configuration::suiteSettings($suite, $this->getGlobalConfig()); } protected function getGlobalConfig(string $conf = null): array { return Configuration::config($conf); } /** * @return string[] */ protected function getSuites($conf = null): array { return Configuration::suites(); } protected function overrideConfig($configOptions): array { $updatedConfig = []; foreach ($configOptions as $option) { $keys = explode(': ', $option); if (count($keys) < 2) { throw new InvalidArgumentException('--override should have config passed as "key: value"'); } $value = array_pop($keys); $yaml = ''; for ($ind = 0; count($keys); $ind += 2) { $yaml .= "\n" . str_repeat(' ', $ind) . array_shift($keys) . ': '; } $yaml .= $value; try { $config = Yaml::parse($yaml); } catch (ParseException $e) { throw new \Codeception\Exception\ParseException("Overridden config can't be parsed: \n{$yaml}\n" . $e->getParsedLine()); } $updatedConfig = array_merge_recursive($updatedConfig, $config); } return Configuration::append($updatedConfig); } protected function enableExtensions($extensions): array { $config = ['extensions' => ['enabled' => []]]; foreach ($extensions as $name) { if (!class_exists($name)) { $className = 'Codeception\\Extension\\' . ucfirst($name); if (!class_exists($className)) { throw new InvalidOptionException("Extension {$name} can't be loaded (tried by {$name} and {$className})"); } $config['extensions']['enabled'][] = $className; continue; } $config['extensions']['enabled'][] = $name; } return Configuration::append($config); } }