Skip to content

Commit dab30c7

Browse files
committed
Fix PHPStan Cannot access property $length on DOMNodeList<DOMNameSpaceNode|DOMNode>|false.
1 parent 854d454 commit dab30c7

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

tests/PhpWordTests/Writer/HTML/Element/RubyTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ public function testWriteRubyHtml(): void
4949

5050
$dom = Helper::getAsHTML($phpWord, '', '', ['ruby', 'rt', 'rp']);
5151
$xpath = new DOMXPath($dom);
52-
self::assertEquals(1, $xpath->query('/html/body/div/ruby')->length);
52+
$query = $xpath->query('/html/body/div/ruby');
53+
self::assertNotFalse($query);
54+
self::assertEquals(1, $query->length);
5355
// ensure text is right
5456
$rubyElement = $dom->getElementsByTagName('ruby')->item(0);
5557
$rtElement = $dom->getElementsByTagName('rt')->item(0);
@@ -84,7 +86,9 @@ public function testWriteRubyHtmlParagraphStyle(): void
8486

8587
$dom = Helper::getAsHTML($phpWord, '', '', ['ruby', 'rt', 'rp']);
8688
$xpath = new DOMXPath($dom);
87-
self::assertEquals(1, $xpath->query('/html/body/div/ruby')->length);
89+
$query = $xpath->query('/html/body/div/ruby');
90+
self::assertNotFalse($query);
91+
self::assertEquals(1, $query->length);
8892
// ensure text is right
8993
$rubyElement = $dom->getElementsByTagName('ruby')->item(0);
9094
$rtElement = $dom->getElementsByTagName('rt')->item(0);

tests/PhpWordTests/Writer/HTML/ElementTest.php

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,12 @@ public function testWriteTrackChanges(): void
7777
$dom = Helper::getAsHTML($phpWord);
7878
$xpath = new DOMXPath($dom);
7979

80-
self::assertEquals(1, $xpath->query('/html/body/div/p[1]/ins')->length);
81-
self::assertEquals(1, $xpath->query('/html/body/div/p[2]/del')->length);
80+
$query = $xpath->query('/html/body/div/p[1]/ins');
81+
self::assertNotFalse($query);
82+
self::assertEquals(1, $query->length);
83+
$query = $xpath->query('/html/body/div/p[2]/del');
84+
self::assertNotFalse($query);
85+
self::assertEquals(1, $query->length);
8286
}
8387

8488
/**
@@ -101,9 +105,13 @@ public function testWriteColSpan(): void
101105
$dom = Helper::getAsHTML($phpWord);
102106
$xpath = new DOMXPath($dom);
103107

104-
self::assertEquals(1, $xpath->query('/html/body/div/table/tr[1]/td')->length);
108+
$query = $xpath->query('/html/body/div/table/tr[1]/td');
109+
self::assertNotFalse($query);
110+
self::assertEquals(1, $query->length);
105111
self::assertEquals('2', $xpath->query('/html/body/div/table/tr/td[1]')->item(0)->attributes->getNamedItem('colspan')->textContent);
106-
self::assertEquals(2, $xpath->query('/html/body/div/table/tr[2]/td')->length);
112+
$query = $xpath->query('/html/body/div/table/tr[2]/td');
113+
self::assertNotFalse($query);
114+
self::assertEquals(2, $query->length);
107115

108116
self::assertEquals('#6086B8', $xpath->query('/html/body/div/table/tr[1]/td')->item(0)->attributes->getNamedItem('bgcolor')->textContent);
109117
self::assertEquals('#ffffff', $xpath->query('/html/body/div/table/tr[1]/td')->item(0)->attributes->getNamedItem('color')->textContent);
@@ -135,9 +143,13 @@ public function testWriteRowSpan(): void
135143
$dom = Helper::getAsHTML($phpWord);
136144
$xpath = new DOMXPath($dom);
137145

138-
self::assertEquals(2, $xpath->query('/html/body/div/table/tr[1]/td')->length);
146+
$query = $xpath->query('/html/body/div/table/tr[1]/td');
147+
self::assertNotFalse($query);
148+
self::assertEquals(2, $query->length);
139149
self::assertEquals('3', $xpath->query('/html/body/div/table/tr[1]/td[1]')->item(0)->attributes->getNamedItem('rowspan')->textContent);
140-
self::assertEquals(1, $xpath->query('/html/body/div/table/tr[2]/td')->length);
150+
$query = $xpath->query('/html/body/div/table/tr[2]/td');
151+
self::assertNotFalse($query);
152+
self::assertEquals(1, $query->length);
141153
}
142154

143155
/**
@@ -167,14 +179,20 @@ public function testWriteRowSpanAndColSpan(): void
167179
$dom = Helper::getAsHTML($phpWord);
168180
$xpath = new DOMXPath($dom);
169181

170-
self::assertEquals(3, $xpath->query('/html/body/div/table/tr[1]/td')->length);
182+
$query = $xpath->query('/html/body/div/table/tr[1]/td');
183+
self::assertNotFalse($query);
184+
self::assertEquals(3, $query->length);
171185
self::assertEquals('2', $xpath->query('/html/body/div/table/tr[1]/td[2]')->item(0)->attributes->getNamedItem('colspan')->textContent);
172186
self::assertEquals('3', $xpath->query('/html/body/div/table/tr[1]/td[3]')->item(0)->attributes->getNamedItem('rowspan')->textContent);
173187

174-
self::assertEquals(1, $xpath->query('/html/body/div/table/tr[2]/td')->length);
188+
$query = $xpath->query('/html/body/div/table/tr[2]/td');
189+
self::assertNotFalse($query);
190+
self::assertEquals(1, $query->length);
175191
self::assertEquals('3', $xpath->query('/html/body/div/table/tr[2]/td[1]')->item(0)->attributes->getNamedItem('colspan')->textContent);
176192

177-
self::assertEquals(3, $xpath->query('/html/body/div/table/tr[3]/td')->length);
193+
$query = $xpath->query('/html/body/div/table/tr[3]/td');
194+
self::assertNotFalse($query);
195+
self::assertEquals(3, $query->length);
178196
}
179197

180198
public function testWriteTitleTextRun(): void

0 commit comments

Comments
 (0)