本文整理汇总了PHP中Codeception\Configuration::mergeConfigs方法的典型用法代码示例。如果您正苦于以下问题:PHP Configuration::mergeConfigs方法的具体用法?PHP Configuration::mergeConfigs怎么用?PHP Configuration::mergeConfigs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Codeception\Configuration
的用法示例。
在下文中一共展示了Configuration::mergeConfigs方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($settings = [])
{
$this->settings = Configuration::mergeConfigs(self::$defaultSettings, $settings);
if (!class_exists('Behat\\Gherkin\\Keywords\\ArrayKeywords')) {
throw new TestParseException('Feature file can only be parsed with Behat\\Gherkin library. Please install `behat/gherkin` with Composer');
}
$keywords = new GherkinKeywords(['en' => static::$defaultKeywords]);
$lexer = new GherkinLexer($keywords);
$this->parser = new GherkinParser($lexer);
$this->fetchGherkinSteps();
}
示例2: __construct
public function __construct($settings = [])
{
$this->settings = Configuration::mergeConfigs(self::$defaultSettings, $settings);
if (!class_exists('Behat\\Gherkin\\Keywords\\ArrayKeywords')) {
throw new TestParseException('Feature file can only be parsed with Behat\\Gherkin library. Please install `behat/gherkin` with Composer');
}
$gherkin = new \ReflectionClass('Behat\\Gherkin\\Gherkin');
$gherkinClassPath = dirname($gherkin->getFileName());
$i18n = (require $gherkinClassPath . '/../../../i18n.php');
$keywords = new GherkinKeywords($i18n);
$lexer = new GherkinLexer($keywords);
$this->parser = new GherkinParser($lexer);
$this->fetchGherkinSteps();
}
示例3: run
public function run($suite, $test = null)
{
ini_set('memory_limit', isset($this->config['settings']['memory_limit']) ? $this->config['settings']['memory_limit'] : '1024M');
$settings = Configuration::suiteSettings($suite, Configuration::config());
$selectedEnvironments = $this->options['env'];
$environments = Configuration::suiteEnvironments($suite);
if (!$selectedEnvironments or empty($environments)) {
$this->runSuite($settings, $suite, $test);
return;
}
foreach (array_unique($selectedEnvironments) as $envList) {
$envArray = explode(',', $envList);
$config = [];
foreach ($envArray as $env) {
if (isset($environments[$env])) {
$currentEnvironment = isset($config['current_environment']) ? [$config['current_environment']] : [];
$config = Configuration::mergeConfigs($config, $environments[$env]);
$currentEnvironment[] = $config['current_environment'];
$config['current_environment'] = implode(',', $currentEnvironment);
}
}
if (empty($config)) {
continue;
}
$suiteToRun = $suite;
if (!empty($envList)) {
$suiteToRun .= ' (' . implode(', ', $envArray) . ')';
}
$this->runSuite($config, $suiteToRun, $test);
}
}
示例4: mergeEnvConfig
/**
* Merges configuration file given in environmental variable
*
* @param array|null $config configuration
*
* @return void
*/
protected function mergeEnvConfig(&$config)
{
if (!is_array($config)) {
$config = array();
}
$envConfig = getenv(self::ENV_CONFIG);
if ($envConfig !== false && $envConfig !== null) {
$parser = new Parser();
$localConfig = $parser->parse(file_get_contents($envConfig));
$config = Configuration::mergeConfigs($config, $localConfig);
}
}
示例5: getModuleConfig
protected function getModuleConfig($module)
{
// get config for all modules
$config = isset($this->config['modules']['config'][$module]) ? $this->config['modules']['config'][$module] : [];
if (!isset($this->config['modules']['enabled'])) {
return $config;
}
if (!is_array($this->config['modules']['enabled'])) {
return $config;
}
// get config for enabled modules
foreach ($this->config['modules']['enabled'] as $enabledModuleConfig) {
if (!is_array($enabledModuleConfig)) {
continue;
}
$enabledModuleName = key($enabledModuleConfig);
if ($enabledModuleName !== $module) {
continue;
}
$config = Configuration::mergeConfigs(reset($enabledModuleConfig), $config);
}
return $config;
}
示例6: getModuleConfig
/**
* Get the configuration for a module.
*
* A module with name $moduleName can be configured at two paths in a configuration file:
* - modules.config.$moduleName
* - modules.enabled.$moduleName
*
* This method checks both locations for configuration. If there is configuration at both locations
* this method merges them, where the configuration at modules.enabled.$moduleName takes precedence
* over modules.config.$moduleName if the same parameters are configured at both locations.
*
* @param string $moduleName
* @return array
*/
private function getModuleConfig($moduleName)
{
$config = isset($this->config['modules']['config'][$moduleName]) ? $this->config['modules']['config'][$moduleName] : [];
if (!isset($this->config['modules']['enabled'])) {
return $config;
}
if (!is_array($this->config['modules']['enabled'])) {
return $config;
}
foreach ($this->config['modules']['enabled'] as $enabledModuleConfig) {
if (!is_array($enabledModuleConfig)) {
continue;
}
$enabledModuleName = key($enabledModuleConfig);
if ($enabledModuleName === $moduleName) {
return Configuration::mergeConfigs(reset($enabledModuleConfig), $config);
}
}
return $config;
}