Skip to content

Commit

Permalink
added environment parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
everzet committed Apr 2, 2011
1 parent 6178f0f commit 932bcb5
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/Behat/Behat/Environment/Environment.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,40 @@
*/
class Environment extends \stdClass implements EnvironmentInterface
{
/**
* Environment parameters.
*
* @var array
*/
protected $parameters = array();

/**
* Sets environment parameter.
*
* @param string $name
* @param mixed $value
*/
public function setParameter($name, $value)
{
$this->parameters[$name] = $value;
}

/**
* Returns environment parameter.
*
* @param string $name
*
* @return mixed
*/
public function getParameter($name)
{
if (!isset($this->parameters[$name])) {
throw new \InvalidArgumentException('Parameter ' . $name . ' is not set');
}

return $this->parameters[$name];
}

/**
* {@inheritdoc}
*/
Expand Down
5 changes: 5 additions & 0 deletions src/Behat/Behat/Environment/EnvironmentBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ public function addResource($resource)
public function build()
{
$environment = $this->container->get('behat.environment');
$parameters = $this->container->getParameter('behat.environment.parameters');

foreach ($parameters as $name => $value) {
$environment->setParameter($name, $value);
}

foreach ($this->resources as $resource) {
$environment->loadEnvironmentResource($resource);
Expand Down
17 changes: 17 additions & 0 deletions src/Behat/Behat/Environment/EnvironmentInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,23 @@
*/
interface EnvironmentInterface
{
/**
* Sets environment parameter.
*
* @param string $name
* @param mixed $value
*/
function setParameter($name, $value);

/**
* Returns environment parameter.
*
* @param string $name
*
* @return mixed
*/
function getParameter($name);

/**
* Loads environment resource (configuration).
*
Expand Down

0 comments on commit 932bcb5

Please sign in to comment.