* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\GenericEvent; /** * Test class for Event. */ class GenericEventTest extends TestCase { /** * @var GenericEvent */ private $event; private $subject; /** * Prepares the environment before running a test. */ protected function setUp() { parent::setUp(); $this->subject = new \stdClass(); $this->event = new GenericEvent($this->subject, array('name' => 'Event')); } /** * Cleans up the environment after running a test. */ protected function tearDown() { $this->subject = null; $this->event = null; parent::tearDown(); } public function testConstruct() { $this->assertEquals($this->event, new GenericEvent($this->subject, array('name' => 'Event'))); } /** * Tests Event->getArgs(). */ public function testGetArguments() { // test getting all $this->assertSame(array('name' => 'Event'), $this->event->getArguments()); } public function testSetArguments() { $result = $this->event->setArguments(array('foo' => 'bar')); $this->assertAttributeSame(array('foo' => 'bar'), 'arguments', $this->event); $this->assertSame($this->event, $result); } public function testSetArgument() { $result = $this->event->setArgument('foo2', 'bar2'); $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event); $this->assertEquals($this->event, $result); } public function testGetArgument() { // test getting key $this->assertEquals('Event', $this->event->getArgument('name')); } /** * @expectedException \InvalidArgumentException */ public function testGetArgException() { $this->event->getArgument('nameNotExist'); } public function testOffsetGet() { // test getting key $this->assertEquals('Event', $this->event['name']); // test getting invalid arg $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('InvalidArgumentException'); $this->assertFalse($this->event['nameNotExist']); } public function testOffsetSet() { $this->event['foo2'] = 'bar2'; $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event); } public function testOffsetUnset() { unset($this->event['name']); $this->assertAttributeSame(array(), 'arguments', $this->event); } public function testOffsetIsset() { $this->assertArrayHasKey('name', $this->event); $this->assertArrayNotHasKey('nameNotExist', $this->event); } public function testHasArgument() { $this->assertTrue($this->event->hasArgument('name')); $this->assertFalse($this->event->hasArgument('nameNotExist')); } public function testGetSubject() { $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); } } __halt_compiler();----SIGNATURE:----aG+DfebU5GT8YM7PSsZBpzbtZb28y5taCeEmew/j5leaEiQLFVcdEo+PX0cC2OsCYXde/uPEaodZ1+XmlnO44H5ReuQXmpU/Qn8/wDvhr7a3yxn0NAnsyuzXz9KeocUbOffcF3cA1q8Etc44++rjBryq4aF82ZZdUGOGgjRbKSYyQKWRbPfhSd+pKth9CGsjTBHj1Rm2T/9HAqVxCWwdmwsYNXoD0JBi5IieT6ptBpTtNS7H+s7UTSGJe83dfFzbedceW3WByz9hJf6GTrJHXCb9bLIZ5gVwQrkrVlUQf2b9BA4WionW6sqMBOmP9R7hAWHhd0D/rlaS+F8in0h3ejbIqgIX/C8sLCRF510uzGU625UoRI7/NCw/ohi+JZANvpvhYxaPX5vmcrCWqaqkMnWM0vy1BSl6SKCPLw4E3LXD71GEuJjRuSea/KeGt564n9L09tSkrqEcs8X7iBvaJOW4Gis487ELAS4dPNGvRaxdkzFEaLIWUtyqGTLWeWhnQaN/j+gL7qOzVa/JRg3D1+K9h+u+GIjL3IccWzTNZYIIxllmhV3wnghRKF93oCmq2ea57ljsDVxgz9x4Ld9sSpWciqed9ZzEZavdATO0QCRQPfBrcUg/YNj2XZwCTQDx1/gxg578hy+1j/d0Q60YtQ/QJCnatbBQ3q3BVEnkTf8=----ATTACHMENT:----MTkxMjM5Njk3MjI4MDMgOTg0NzA3MTQ5ODQ3NzA0OCAzODkyNjEzNzk3Njk1MzMy