[EventDispatcher] Adding IteratorAggregate to GenericEvent
This commit is contained in:
parent
50df1a72aa
commit
0ad00f8a56
@ -18,7 +18,7 @@ namespace Symfony\Component\EventDispatcher;
|
||||
*
|
||||
* @author Drak <drak@zikula.org>
|
||||
*/
|
||||
class GenericEvent extends Event implements \ArrayAccess
|
||||
class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
|
||||
{
|
||||
/**
|
||||
* Observer pattern subject.
|
||||
@ -177,4 +177,14 @@ class GenericEvent extends Event implements \ArrayAccess
|
||||
{
|
||||
return $this->hasArgument($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* IteratorAggregate for iterating over the object like an array
|
||||
*
|
||||
* @return \ArrayIterator
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new \ArrayIterator($this->arguments);
|
||||
}
|
||||
}
|
||||
|
@ -128,4 +128,13 @@ class GenericEventTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
$this->assertSame($this->subject, $this->event->getSubject());
|
||||
}
|
||||
|
||||
public function testHasIterator()
|
||||
{
|
||||
$data = array();
|
||||
foreach ($this->event as $key => $value) {
|
||||
$data[$key] = $value;
|
||||
}
|
||||
$this->assertEquals(array('name' => 'Event'), $data);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user