Skip to content
Extraits de code Groupes Projets
Valider ba74a8f3 rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Try to get extra plugin to load from fixture class in addition to test case...

Try to get extra plugin to load from fixture class in addition to test case class in TestingEnvironmentManipulator, and add hacky fix for issue where Config will reload after construction, resetting list of activated plugins, after it is modified by the manipulator.
parent b0f80b76
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -8,9 +8,12 @@
namespace Piwik\Tests\Framework;
use Interop\Container\ContainerInterface;
use Piwik\Application\Environment;
use Piwik\Application\EnvironmentManipulator;
use Piwik\Application\Kernel\GlobalSettingsProvider;
use Piwik\Application\Kernel\PluginList;
use Piwik\Config;
use Piwik\DbHelper;
use Piwik\Option;
use Piwik\Plugin;
......@@ -155,7 +158,22 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator
}
}
$diConfigs[] = array('observers.global' => \DI\add($this->globalObservers));
$plugins = $this->getPluginsToLoadDuringTest();
$diConfigs[] = array(
'observers.global' => \DI\add($this->globalObservers),
'Piwik\Config' => \DI\decorate(function (Config $config, ContainerInterface $c) use ($plugins) {
/** @var PluginList $pluginList */
$pluginList = $c->get('Piwik\Application\Kernel\PluginList');
$plugins = $pluginList->sortPlugins($plugins);
// set the plugins to load, has to be done to Config, since Config will reload files on construction.
// TODO: probably shouldn't need to do this, will wait until 3.0 to remove.
$config->Plugins['Plugins'] = $plugins;
return $config;
}),
);
return $diConfigs;
}
......@@ -176,6 +194,7 @@ class TestingEnvironmentManipulator implements EnvironmentManipulator
array(
Plugin::getPluginNameFromBacktrace(debug_backtrace()),
Plugin::getPluginNameFromNamespace($this->vars->testCaseClass),
Plugin::getPluginNameFromNamespace($this->vars->fixtureClass),
Plugin::getPluginNameFromNamespace(get_called_class())
)
);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter