15
15
use Symfony \Component \Serializer \Mapping \Factory \ClassMetadataFactory ;
16
16
use Symfony \Component \Serializer \Mapping \Factory \ClassMetadataFactoryCompiler ;
17
17
use Symfony \Component \Serializer \Mapping \Loader \AttributeLoader ;
18
+ use Symfony \Component \Serializer \Tests \Fixtures \Attributes \AbstractDummy ;
19
+ use Symfony \Component \Serializer \Tests \Fixtures \Attributes \AbstractDummyFirstChild ;
20
+ use Symfony \Component \Serializer \Tests \Fixtures \Attributes \AbstractDummySecondChild ;
21
+ use Symfony \Component \Serializer \Tests \Fixtures \Attributes \AbstractDummyThirdChild ;
18
22
use Symfony \Component \Serializer \Tests \Fixtures \Attributes \MaxDepthDummy ;
19
23
use Symfony \Component \Serializer \Tests \Fixtures \Attributes \SerializedNameDummy ;
20
24
use Symfony \Component \Serializer \Tests \Fixtures \Attributes \SerializedPathDummy ;
@@ -40,13 +44,15 @@ public function testItDumpMetadata()
40
44
$ classMetatadataFactory = new ClassMetadataFactory (new AttributeLoader ());
41
45
42
46
$ dummyMetadata = $ classMetatadataFactory ->getMetadataFor (Dummy::class);
47
+ $ abstractDummyMetadata = $ classMetatadataFactory ->getMetadataFor (AbstractDummy::class);
43
48
$ maxDepthDummyMetadata = $ classMetatadataFactory ->getMetadataFor (MaxDepthDummy::class);
44
49
$ serializedNameDummyMetadata = $ classMetatadataFactory ->getMetadataFor (SerializedNameDummy::class);
45
50
$ serializedPathDummyMetadata = $ classMetatadataFactory ->getMetadataFor (SerializedPathDummy::class);
46
51
$ serializedPathInConstructorDummyMetadata = $ classMetatadataFactory ->getMetadataFor (SerializedPathInConstructorDummy::class);
47
52
48
53
$ code = (new ClassMetadataFactoryCompiler ())->compile ([
49
54
$ dummyMetadata ,
55
+ $ abstractDummyMetadata ,
50
56
$ maxDepthDummyMetadata ,
51
57
$ serializedNameDummyMetadata ,
52
58
$ serializedPathDummyMetadata ,
@@ -56,7 +62,7 @@ public function testItDumpMetadata()
56
62
file_put_contents ($ this ->dumpPath , $ code );
57
63
$ compiledMetadata = require $ this ->dumpPath ;
58
64
59
- $ this ->assertCount (5 , $ compiledMetadata );
65
+ $ this ->assertCount (6 , $ compiledMetadata );
60
66
61
67
$ this ->assertArrayHasKey (Dummy::class, $ compiledMetadata );
62
68
$ this ->assertEquals ([
@@ -69,6 +75,22 @@ public function testItDumpMetadata()
69
75
null ,
70
76
], $ compiledMetadata [Dummy::class]);
71
77
78
+ $ this ->assertArrayHasKey (AbstractDummy::class, $ compiledMetadata );
79
+ $ this ->assertEquals ([
80
+ [
81
+ 'foo ' => [[], null , null , null ],
82
+ ],
83
+ [
84
+ 'type ' ,
85
+ [
86
+ 'first ' => AbstractDummyFirstChild::class,
87
+ 'second ' => AbstractDummySecondChild::class,
88
+ 'third ' => AbstractDummyThirdChild::class,
89
+ ],
90
+ 'third ' ,
91
+ ],
92
+ ], $ compiledMetadata [AbstractDummy::class]);
93
+
72
94
$ this ->assertArrayHasKey (MaxDepthDummy::class, $ compiledMetadata );
73
95
$ this ->assertEquals ([
74
96
[
0 commit comments