[EventDispatcher] added some setters/getters to Event
This commit is contained in:
parent
07817ba7d8
commit
8ddac2669b
@ -109,6 +109,46 @@ class Event implements \ArrayAccess
|
|||||||
return $this->parameters;
|
return $this->parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if the parameter exists.
|
||||||
|
*
|
||||||
|
* @param string $name The parameter name
|
||||||
|
*
|
||||||
|
* @return Boolean true if the parameter exists, false otherwise
|
||||||
|
*/
|
||||||
|
public function hasParameter($name)
|
||||||
|
{
|
||||||
|
return array_key_exists($name, $this->parameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a parameter value.
|
||||||
|
*
|
||||||
|
* @param string $name The parameter name
|
||||||
|
*
|
||||||
|
* @return mixed The parameter value
|
||||||
|
*/
|
||||||
|
public function getParameter($name)
|
||||||
|
{
|
||||||
|
if (!array_key_exists($name, $this->parameters))
|
||||||
|
{
|
||||||
|
throw new \InvalidArgumentException(sprintf('The event "%s" has no "%s" parameter.', $this->name, $name));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->parameters[$name];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a parameter.
|
||||||
|
*
|
||||||
|
* @param string $name The parameter name
|
||||||
|
* @param mixed $value The parameter value
|
||||||
|
*/
|
||||||
|
public function setParameter($name, $value)
|
||||||
|
{
|
||||||
|
$this->parameters[$name] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the parameter exists (implements the ArrayAccess interface).
|
* Returns true if the parameter exists (implements the ArrayAccess interface).
|
||||||
*
|
*
|
||||||
|
@ -12,7 +12,7 @@ require_once __DIR__.'/../../../bootstrap.php';
|
|||||||
|
|
||||||
use Symfony\Components\EventDispatcher\Event;
|
use Symfony\Components\EventDispatcher\Event;
|
||||||
|
|
||||||
$t = new LimeTest(11);
|
$t = new LimeTest(16);
|
||||||
|
|
||||||
$subject = new stdClass();
|
$subject = new stdClass();
|
||||||
$parameters = array('foo' => 'bar');
|
$parameters = array('foo' => 'bar');
|
||||||
@ -26,9 +26,26 @@ $t->is($event->getSubject(), $subject, '->getSubject() returns the event subject
|
|||||||
$t->diag('->getName()');
|
$t->diag('->getName()');
|
||||||
$t->is($event->getName(), 'name', '->getName() returns the event name');
|
$t->is($event->getName(), 'name', '->getName() returns the event name');
|
||||||
|
|
||||||
// ->getParameters()
|
// ->getParameters() ->setParameter() ->hasParameter() ->getParameter()
|
||||||
$t->diag('->getParameters()');
|
$t->diag('->getParameters()');
|
||||||
$t->is($event->getParameters(), $parameters, '->getParameters() returns the event parameters');
|
$t->is($event->getParameters(), $parameters, '->getParameters() returns the event parameters');
|
||||||
|
$t->is($event->getParameter('foo'), 'bar', '->getParameter() returns the value of a parameter');
|
||||||
|
$event->setParameter('foo', 'foo');
|
||||||
|
$t->is($event->getParameter('foo'), 'foo', '->setParameter() changes the value of a parameter');
|
||||||
|
$t->ok($event->hasParameter('foo'), '->hasParameter() returns true if the parameter is defined');
|
||||||
|
unset($event['foo']);
|
||||||
|
$t->ok(!$event->hasParameter('foo'), '->hasParameter() returns false if the parameter is not defined');
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$event->getParameter('foobar');
|
||||||
|
$t->fail('->getParameter() throws an \InvalidArgumentException exception when the parameter does not exist');
|
||||||
|
}
|
||||||
|
catch (\InvalidArgumentException $e)
|
||||||
|
{
|
||||||
|
$t->pass('->getParameter() throws an \InvalidArgumentException exception when the parameter does not exist');
|
||||||
|
}
|
||||||
|
$event = new Event($subject, 'name', $parameters);
|
||||||
|
|
||||||
// ->getReturnValue() ->setReturnValue()
|
// ->getReturnValue() ->setReturnValue()
|
||||||
$t->diag('->getReturnValue() ->setReturnValue()');
|
$t->diag('->getReturnValue() ->setReturnValue()');
|
||||||
|
Reference in New Issue
Block a user