Skip to content

Commit 008b11a

Browse files
committed
Restore PHP 8.3 full coverage
1 parent e33d92a commit 008b11a

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

tests/Unit/Extraction/HierarchyComposerTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,4 +93,34 @@ public function testComposeReturnsEmptyArrayWhenReaderIsExhausted(): void
9393
self::assertSame([], HierarchyComposer::compose($reader));
9494
$reader->close();
9595
}
96+
97+
public function testComposeMovesReaderPastTopLevelEmptyElement(): void
98+
{
99+
$reader = XmlFixture::readerFromFixture('empty-elements.xml');
100+
101+
while ($reader->read()) {
102+
if (
103+
$reader->nodeType === \XMLReader::ELEMENT
104+
&& $reader->name === 'root'
105+
) {
106+
break;
107+
}
108+
}
109+
110+
self::assertSame(
111+
[
112+
'n' => 'root',
113+
'a' => [
114+
'attr' => '1',
115+
],
116+
],
117+
HierarchyComposer::compose($reader)
118+
);
119+
120+
while ($reader->nodeType !== \XMLReader::ELEMENT && $reader->read()) {
121+
}
122+
123+
self::assertSame('next', $reader->name);
124+
$reader->close();
125+
}
96126
}

tests/Unit/Extraction/PrettyPrintComposerTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,37 @@ public function testComposeReturnsEmptyArrayWhenReaderIsExhausted(): void
7474
$reader->close();
7575
}
7676

77+
public function testComposeMovesReaderPastTopLevelEmptyElement(): void
78+
{
79+
$reader = XmlFixture::readerFromFixture('empty-elements.xml');
80+
81+
while ($reader->read()) {
82+
if (
83+
$reader->nodeType === \XMLReader::ELEMENT
84+
&& $reader->name === 'root'
85+
) {
86+
break;
87+
}
88+
}
89+
90+
self::assertSame(
91+
[
92+
'root' => [
93+
'@attributes' => [
94+
'attr' => '1',
95+
],
96+
],
97+
],
98+
PrettyPrintComposer::compose($reader)
99+
);
100+
101+
while ($reader->nodeType !== \XMLReader::ELEMENT && $reader->read()) {
102+
}
103+
104+
self::assertSame('next', $reader->name);
105+
$reader->close();
106+
}
107+
77108
public function testComposePreservesMixedContentWithAttributesAndChild(): void
78109
{
79110
$reader = XmlFixture::readerFromFixture('mixed-content.xml');

0 commit comments

Comments
 (0)