File tree Expand file tree Collapse file tree 2 files changed +11
-12
lines changed
tests/PHPStan/Rules/Properties/data Expand file tree Collapse file tree 2 files changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,12 @@ class DOMNode
3434 * @var DOMNamedNodeMap<DOMAttr>|null
3535 */
3636 public $attributes;
37+
38+ /**
39+ * @phpstan-assert-if-true DOMNamedNodeMap<DOMAttr> $this->attributes
40+ * @phpstan-assert-if-false null $this->attributes
41+ */
42+ public function hasAttributes(): bool {}
3743}
3844
3945class DOMElement extends DOMNode
Original file line number Diff line number Diff line change 33use function PHPStan \Testing \assertType ;
44
55function basic_node (\DOMNode $ node ): void {
6- assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
7- };
8-
9- function element_node (\DOMElement $ node ): void
10- {
11- assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
12- $ attribute = $ node ->attributes ->getNamedItem ('class ' );
13- if ($ attribute === null ) {
14- return ;
6+ if ($ node ->hasAttributes ()) {
7+ assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
8+ } else {
9+ assertType ('null ' , $ node ->attributes );
1510 }
16- assertType (DOMAttr::class, $ attribute );
17- assertType ('string ' , $ attribute ->value );
18- }
11+ };
You can’t perform that action at this time.
0 commit comments