| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | <?phpnamespace JMS\Serializer\Tests\Handler;use Doctrine\Common\Collections\ArrayCollection;use JMS\Serializer\Handler\ArrayCollectionHandler;use JMS\Serializer\Metadata\ClassMetadata;use JMS\Serializer\SerializationContext;use JMS\Serializer\Tests\Fixtures\ExclusionStrategy\AlwaysExcludeExclusionStrategy;use JMS\Serializer\VisitorInterface;use Metadata\MetadataFactoryInterface;class ArrayCollectionHandlerTest extends \PHPUnit_Framework_TestCase{    public function testSerializeArray()    {        $handler = new ArrayCollectionHandler();        $visitor = $this->getMockBuilder(VisitorInterface::class)->getMock();        $visitor->method('visitArray')->with(['foo'])->willReturn(['foo']);        $context = $this->getMockBuilder(SerializationContext::class)->getMock();        $type = ['name' => 'ArrayCollection', 'params' => []];        $collection = new ArrayCollection(['foo']);        $handler->serializeCollection($visitor, $collection, $type, $context);    }    public function testSerializeArraySkipByExclusionStrategy()    {        $handler = new ArrayCollectionHandler(false);        $visitor = $this->getMockBuilder(VisitorInterface::class)->getMock();        $visitor->method('visitArray')->with([])->willReturn([]);        $context = $this->getMockBuilder(SerializationContext::class)->getMock();        $factoryMock = $this->getMockBuilder(MetadataFactoryInterface::class)->getMock();        $factoryMock->method('getMetadataForClass')->willReturn(new ClassMetadata(ArrayCollection::class));        $context->method('getExclusionStrategy')->willReturn(new AlwaysExcludeExclusionStrategy());        $context->method('getMetadataFactory')->willReturn($factoryMock);        $type = ['name' => 'ArrayCollection', 'params' => []];        $collection = new ArrayCollection(['foo']);        $handler->serializeCollection($visitor, $collection, $type, $context);    }}
 |