|
15 | 15 | use Symfony\Component\Config\Resource\ReflectionClassResource;
|
16 | 16 | use Symfony\Component\DependencyInjection\ServiceSubscriberInterface;
|
17 | 17 | use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
| 18 | +use Symfony\Component\Messenger\Handler\MessageSubscriberInterface; |
18 | 19 |
|
19 | 20 | class ReflectionClassResourceTest extends TestCase
|
20 | 21 | {
|
@@ -147,6 +148,24 @@ public function testEventSubscriber()
|
147 | 148 | $this->assertTrue($res->isFresh(0));
|
148 | 149 | }
|
149 | 150 |
|
| 151 | + public function testMessageSubscriber() |
| 152 | + { |
| 153 | + $res = new ReflectionClassResource(new \ReflectionClass(TestMessageSubscriber::class)); |
| 154 | + $this->assertTrue($res->isFresh(0)); |
| 155 | + |
| 156 | + TestMessageSubscriberConfigHolder::$handledMessages = ['SomeMessageClass' => []]; |
| 157 | + $this->assertFalse($res->isFresh(0)); |
| 158 | + |
| 159 | + $res = new ReflectionClassResource(new \ReflectionClass(TestMessageSubscriber::class)); |
| 160 | + $this->assertTrue($res->isFresh(0)); |
| 161 | + |
| 162 | + TestMessageSubscriberConfigHolder::$handledMessages = ['OtherMessageClass' => []]; |
| 163 | + $this->assertFalse($res->isFresh(0)); |
| 164 | + |
| 165 | + $res = new ReflectionClassResource(new \ReflectionClass(TestMessageSubscriber::class)); |
| 166 | + $this->assertTrue($res->isFresh(0)); |
| 167 | + } |
| 168 | + |
150 | 169 | public function testServiceSubscriber()
|
151 | 170 | {
|
152 | 171 | $res = new ReflectionClassResource(new \ReflectionClass(TestServiceSubscriber::class));
|
@@ -174,6 +193,20 @@ public static function getSubscribedEvents()
|
174 | 193 | }
|
175 | 194 | }
|
176 | 195 |
|
| 196 | +class TestMessageSubscriber implements MessageSubscriberInterface |
| 197 | +{ |
| 198 | + public static function getHandledMessages(): iterable |
| 199 | + { |
| 200 | + foreach (TestMessageSubscriberConfigHolder::$handledMessages as $key => $subscribedMessage) { |
| 201 | + yield $key => $subscribedMessage; |
| 202 | + } |
| 203 | + } |
| 204 | +} |
| 205 | +class TestMessageSubscriberConfigHolder |
| 206 | +{ |
| 207 | + public static $handledMessages = []; |
| 208 | +} |
| 209 | + |
177 | 210 | class TestServiceSubscriber implements ServiceSubscriberInterface
|
178 | 211 | {
|
179 | 212 | public static $subscribedServices = [];
|
|
0 commit comments