| @@ 134-144 (lines=11) @@ | ||
| 131 | * @expectedException RuntimeException |
|
| 132 | * @expectedExceptionMessage Each tag named "jms_serializer.handler" of service "my_service" must have at least two attributes: "type" and "format" |
|
| 133 | */ |
|
| 134 | public function testHandlerMustHaveTypeAndFormat() |
|
| 135 | { |
|
| 136 | $container = $this->getContainer(); |
|
| 137 | ||
| 138 | $def = new Definition('Foo'); |
|
| 139 | $def->addTag('jms_serializer.handler'); |
|
| 140 | $container->setDefinition('my_service', $def); |
|
| 141 | ||
| 142 | $pass = new CustomHandlersPass(); |
|
| 143 | $pass->process($container); |
|
| 144 | } |
|
| 145 | ||
| 146 | public function testSubscribingHandler() |
|
| 147 | { |
|
| @@ 168-178 (lines=11) @@ | ||
| 165 | * @expectedException RuntimeException |
|
| 166 | * @expectedExceptionMessage The service "my_service" must implement the SubscribingHandlerInterface |
|
| 167 | */ |
|
| 168 | public function testSubscribingHandlerInterface() |
|
| 169 | { |
|
| 170 | $container = $this->getContainer(); |
|
| 171 | ||
| 172 | $def = new Definition('JMS\SerializerBundle\Tests\DependencyInjection\Fixture\SimpleObject'); |
|
| 173 | $def->addTag('jms_serializer.subscribing_handler'); |
|
| 174 | $container->setDefinition('my_service', $def); |
|
| 175 | ||
| 176 | $pass = new CustomHandlersPass(); |
|
| 177 | $pass->process($container); |
|
| 178 | } |
|
| 179 | } |
|
| 180 | ||
| @@ 72-85 (lines=14) @@ | ||
| 69 | * @expectedException RuntimeException |
|
| 70 | * @expectedExceptionMessage The tag "jms_serializer.event_listener" of service "my_listener" requires an attribute named "event". |
|
| 71 | */ |
|
| 72 | public function testEventListenerMustHaveEventDefined() |
|
| 73 | { |
|
| 74 | $container = $this->getContainer(); |
|
| 75 | ||
| 76 | $def = new Definition('Foo'); |
|
| 77 | $def->addTag('jms_serializer.event_listener', [ |
|
| 78 | 'class' => 'Bar', |
|
| 79 | ]); |
|
| 80 | ||
| 81 | $container->setDefinition('my_listener', $def); |
|
| 82 | ||
| 83 | $pass = new RegisterEventListenersAndSubscribersPass(); |
|
| 84 | $pass->process($container); |
|
| 85 | } |
|
| 86 | ||
| 87 | public function testEventListenerCanBePrivate() |
|
| 88 | { |
|
| @@ 240-251 (lines=12) @@ | ||
| 237 | * @expectedException RuntimeException |
|
| 238 | * @expectedExceptionMessage The service "my_listener" (class: JMS\SerializerBundle\Tests\DependencyInjection\Fixture\VersionedObject) does not implement the EventSubscriberInterface. |
|
| 239 | */ |
|
| 240 | public function testEventSubscriberInterface() |
|
| 241 | { |
|
| 242 | $container = $this->getContainer(); |
|
| 243 | ||
| 244 | $def = new Definition('JMS\SerializerBundle\Tests\DependencyInjection\Fixture\VersionedObject'); |
|
| 245 | $def->addTag('jms_serializer.event_subscriber'); |
|
| 246 | ||
| 247 | $container->setDefinition('my_listener', $def); |
|
| 248 | ||
| 249 | $pass = new RegisterEventListenersAndSubscribersPass(); |
|
| 250 | $pass->process($container); |
|
| 251 | } |
|
| 252 | ||
| 253 | public function testEventSubscriberCanBePrivate() |
|
| 254 | { |
|