[EventDispatcher] Adding IteratorAggregate to GenericEvent

This commit is contained in:
Michael Dowling 2012-08-15 14:38:32 -07:00
parent 50df1a72aa
commit 0ad00f8a56
2 changed files with 20 additions and 1 deletions

View File

@ -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);
}
}

View File

@ -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);
}
}