EventDispatcherTraitTest.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
  5. * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
  6. *
  7. * Licensed under The MIT License
  8. * Redistributions of files must retain the above copyright notice.
  9. *
  10. * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
  11. * @link https://cakephp.org CakePHP(tm) Project
  12. * @since 3.0.0
  13. * @license https://opensource.org/licenses/mit-license.php MIT License
  14. */
  15. namespace Cake\Test\TestCase\Event;
  16. use Cake\Event\Event;
  17. use Cake\Event\EventDispatcherTrait;
  18. use Cake\Event\EventManager;
  19. use Cake\TestSuite\TestCase;
  20. /**
  21. * EventDispatcherTrait test case
  22. */
  23. class EventDispatcherTraitTest extends TestCase
  24. {
  25. /**
  26. * @var \Cake\Event\EventDispatcherTrait
  27. */
  28. protected $subject;
  29. /**
  30. * setup
  31. */
  32. public function setUp(): void
  33. {
  34. parent::setUp();
  35. $this->subject = new class {
  36. use EventDispatcherTrait;
  37. };
  38. }
  39. /**
  40. * testGetEventManager
  41. */
  42. public function testGetEventManager(): void
  43. {
  44. $this->assertInstanceOf(EventManager::class, $this->subject->getEventManager());
  45. }
  46. /**
  47. * testDispatchEvent
  48. */
  49. public function testDispatchEvent(): void
  50. {
  51. $event = $this->subject->dispatchEvent('some.event', ['foo' => 'bar']);
  52. $this->assertInstanceOf(Event::class, $event);
  53. $this->assertSame($this->subject, $event->getSubject());
  54. $this->assertSame('some.event', $event->getName());
  55. $this->assertEquals(['foo' => 'bar'], $event->getData());
  56. }
  57. }