2014-08-02 08:30:27 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace SilverStripe\BehatExtension\Controllers;
|
|
|
|
|
|
|
|
use InvalidArgumentException;
|
|
|
|
use SilverStripe\Core\Manifest\Module;
|
|
|
|
use SilverStripe\Core\Manifest\ModuleLoader;
|
|
|
|
|
|
|
|
trait ModuleCommandTrait
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Find target module being tested
|
|
|
|
*
|
|
|
|
* @param string $name
|
2017-06-15 00:38:26 +02:00
|
|
|
* @param bool $error Throw error if not found
|
2014-08-02 08:30:27 +02:00
|
|
|
* @return Module
|
|
|
|
*/
|
2017-06-15 00:38:26 +02:00
|
|
|
protected function getModule($name, $error = true)
|
2014-08-02 08:30:27 +02:00
|
|
|
{
|
|
|
|
if (strpos($name, '@') === 0) {
|
|
|
|
$name = substr($name, 1);
|
|
|
|
}
|
2017-05-19 04:47:02 +02:00
|
|
|
$module = ModuleLoader::inst()->getManifest()->getModule($name);
|
2017-06-15 00:38:26 +02:00
|
|
|
if (!$module && $error) {
|
2014-08-02 08:30:27 +02:00
|
|
|
throw new InvalidArgumentException("No module $name installed");
|
|
|
|
}
|
|
|
|
return $module;
|
|
|
|
}
|
|
|
|
}
|