@@ -99,6 +99,48 @@ public function testFieldOptionsExport(): void
99
99
</field>
100
100
</entity>
101
101
</doctrine-mapping>
102
+ XML;
103
+
104
+ self ::assertXmlStringEqualsXmlString ($ expectedFileContent , $ exporter ->exportClassMetadata ($ metadata ));
105
+ }
106
+
107
+ public function testPolicyExport (): void
108
+ {
109
+ $ exporter = new XmlExporter ();
110
+ $ metadata = new ClassMetadata ('entityTest ' );
111
+
112
+ // DEFERRED_IMPLICIT
113
+ $ metadata ->setChangeTrackingPolicy (ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT );
114
+
115
+ $ expectedFileContent = <<<'XML'
116
+ <?xml version="1.0" encoding="utf-8"?>
117
+ <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
118
+ <entity name="entityTest"/>
119
+ </doctrine-mapping>
120
+ XML;
121
+
122
+ self ::assertXmlStringEqualsXmlString ($ expectedFileContent , $ exporter ->exportClassMetadata ($ metadata ));
123
+
124
+ // DEFERRED_EXPLICIT
125
+ $ metadata ->setChangeTrackingPolicy (ClassMetadata::CHANGETRACKING_DEFERRED_EXPLICIT );
126
+
127
+ $ expectedFileContent = <<<'XML'
128
+ <?xml version="1.0" encoding="utf-8"?>
129
+ <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
130
+ <entity name="entityTest" change-tracking-policy="DEFERRED_EXPLICIT"/>
131
+ </doctrine-mapping>
132
+ XML;
133
+
134
+ self ::assertXmlStringEqualsXmlString ($ expectedFileContent , $ exporter ->exportClassMetadata ($ metadata ));
135
+
136
+ // NOTIFY
137
+ $ metadata ->setChangeTrackingPolicy (ClassMetadata::CHANGETRACKING_NOTIFY );
138
+
139
+ $ expectedFileContent = <<<'XML'
140
+ <?xml version="1.0" encoding="utf-8"?>
141
+ <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
142
+ <entity name="entityTest" change-tracking-policy="NOTIFY"/>
143
+ </doctrine-mapping>
102
144
XML;
103
145
104
146
self ::assertXmlStringEqualsXmlString ($ expectedFileContent , $ exporter ->exportClassMetadata ($ metadata ));
0 commit comments