ListenerProviderTest.php 959 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace Test\Michel\EventDispatcher;
  3. use Michel\EventDispatcher\EventDispatcher;
  4. use Michel\EventDispatcher\ListenerProvider;
  5. use Michel\UniTester\TestCase;
  6. use Test\Michel\EventDispatcher\Event\PreCreateEventTest;
  7. use Test\Michel\EventDispatcher\Listener\UserListenerTest;
  8. class ListenerProviderTest extends TestCase
  9. {
  10. protected function setUp(): void
  11. {
  12. // TODO: Implement setUp() method.
  13. }
  14. protected function tearDown(): void
  15. {
  16. // TODO: Implement tearDown() method.
  17. }
  18. protected function execute(): void
  19. {
  20. $listenerProvider = new ListenerProvider();
  21. $listenerProvider->addListener(PreCreateEventTest::class, new UserListenerTest());
  22. $dispatcher = new EventDispatcher($listenerProvider);
  23. $user = new \stdClass();
  24. $user->foo = null;
  25. $dispatcher->dispatch(new PreCreateEventTest($user));
  26. $this->assertStrictEquals("bar", $user->foo);
  27. }
  28. }