/** * @test serialized xml has type attribute */ public function xmlSerialization() { $container = new EventContainer(new SerializableEventStub('event.name', 'some data')); $this->namingStrategy->expects($this->once())->method('classToType')->with(get_class($container->getEvent()))->will($this->returnValue('stub')); $serialized = $this->serializer->serialize($container, 'xml'); $this->assertEquals(file_get_contents(__DIR__ . '/Fixtures/container.xml'), $serialized); }
/** * Normalize event container to serialize with generic serialization * Event class name is added * * @param GenericSerializationVisitor $visitor * @param EventContainer $container * @param Context $context * * @return array */ protected function serializeContainer(GenericSerializationVisitor $visitor, EventContainer $container, Context $context) { $setRoot = $visitor->getRoot() === null; $data = array('type' => $this->namingStrategy->classToType(get_class($container->getEvent())), 'data' => $visitor->getNavigator()->accept($container->getEvent(), null, $context)); if ($setRoot) { $visitor->setRoot($data); } return $data; }