@@ -168,7 +168,7 @@ public function enterNode(\DOMNode $node): \DOMNode|int
168
168
'afterTraversal:#document ' ,
169
169
], $ nodeRemovingVisitor ->calls );
170
170
171
- self ::assertXmlStringEqualsXmlString ('<Root></Root> ' , $ document ->saveXML ());
171
+ self ::assertXmlStringEqualsXmlString ('<Root></Root> ' , $ document ->saveXML () ?: '' );
172
172
}
173
173
174
174
#[Test]
@@ -179,6 +179,10 @@ public function enterNode(\DOMNode $node): \DOMNode|int
179
179
{
180
180
parent ::enterNode ($ node );
181
181
if ($ node ->nodeName === 'Child ' ) {
182
+ if ($ node ->ownerDocument === null ) {
183
+ throw new \RuntimeException ('Node does not have an ownerDocument, cannot create element ' );
184
+ }
185
+
182
186
return $ node ->ownerDocument ->createElement ('NewChild ' );
183
187
}
184
188
return $ node ;
@@ -201,14 +205,17 @@ public function enterNode(\DOMNode $node): \DOMNode|int
201
205
'afterTraversal:#document ' ,
202
206
], $ nodeRemovingVisitor ->calls );
203
207
204
- self ::assertXmlStringEqualsXmlString ('<Root><NewChild></NewChild></Root> ' , $ document ->saveXML ());
208
+ self ::assertXmlStringEqualsXmlString ('<Root><NewChild></NewChild></Root> ' , $ document ->saveXML () ?: '' );
205
209
}
206
210
207
- private function getCollectingDomNodeVisitor (): DomNodeVisitor
211
+ private function getCollectingDomNodeVisitor (): CollectingDomNodeVisitor
208
212
{
209
213
return new CollectingDomNodeVisitor ();
210
214
}
211
215
216
+ /**
217
+ * @param list<string> $recorder
218
+ */
212
219
private function getCallRecordingDomNodeVisitor (string $ visitorName , array &$ recorder ): DomNodeVisitor
213
220
{
214
221
return new class ($ visitorName , $ recorder ) implements DomNodeVisitor {
@@ -217,7 +224,7 @@ private function getCallRecordingDomNodeVisitor(string $visitorName, array &$rec
217
224
*/
218
225
public function __construct (
219
226
private readonly string $ visitorName ,
220
- private array &$ calls
227
+ public array &$ calls // only public to please PHPStan
221
228
) {
222
229
}
223
230
0 commit comments