Skip to content

Commit 5381a06

Browse files
committed
fix expected
1 parent 10b76c3 commit 5381a06

File tree

1 file changed

+41
-6
lines changed

1 file changed

+41
-6
lines changed

tests/PHPStan/Analyser/nsrt/static-with-this-chained.php

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,30 +44,65 @@ public function testMethodChained(): void
4444
assertType('$this(StaticWithThisChained\Foo)', $this->getThis());
4545
assertType('static(StaticWithThisChained\Foo)', $this->newStatic());
4646
assertType('static(StaticWithThisChained\Foo)', static::newStaticStatic());
47-
assertType('StaticWithThisChained\Foo', self::newStaticStatic());
47+
assertType('static(StaticWithThisChained\Foo)', self::newStaticStatic());
4848
assertType('StaticWithThisChained\Foo', Foo::newStaticStatic());
4949

5050
assertType('$this(StaticWithThisChained\Foo)', $this->getThis()->getThis());
5151
assertType('static(StaticWithThisChained\Foo)', $this->newStatic()->getThis());
5252
assertType('static(StaticWithThisChained\Foo)', static::newStaticStatic()->getThis());
53-
assertType('StaticWithThisChained\Foo', self::newStaticStatic()->getThis());
53+
assertType('static(StaticWithThisChained\Foo)', self::newStaticStatic()->getThis());
5454
assertType('StaticWithThisChained\Foo', Foo::newStaticStatic()->getThis());
5555
}
5656

5757
public function testPropertyChained(): void
5858
{
59-
/*
6059
assertType('$this(StaticWithThisChained\Foo)', $this->propThis);
6160
assertType('static(StaticWithThisChained\Foo)', $this->propStatic);
6261
assertType('static(StaticWithThisChained\Foo)', static::$propStaticStatic);
63-
assertType('StaticWithThisChained\Foo', self::$propStaticStatic);
62+
assertType('static(StaticWithThisChained\Foo)', self::$propStaticStatic);
6463
assertType('StaticWithThisChained\Foo', Foo::$propStaticStatic);
6564

6665
assertType('$this(StaticWithThisChained\Foo)', $this->propThis->propThis);
6766
assertType('static(StaticWithThisChained\Foo)', $this->propStatic->propThis);
6867
assertType('static(StaticWithThisChained\Foo)', static::$propStaticStatic->propThis);
69-
assertType('StaticWithThisChained\Foo', self::$propStaticStatic->propThis);
68+
assertType('static(StaticWithThisChained\Foo)', self::$propStaticStatic->propThis);
7069
assertType('StaticWithThisChained\Foo', Foo::$propStaticStatic->propThis);
71-
*/
70+
}
71+
}
72+
73+
class Bar extends Foo
74+
{
75+
public function testMethodChained(): void
76+
{
77+
assertType('$this(StaticWithThisChained\Bar)', $this->getThis());
78+
assertType('static(StaticWithThisChained\Bar)', $this->newStatic());
79+
assertType('static(StaticWithThisChained\Bar)', static::newStaticStatic());
80+
assertType('static(StaticWithThisChained\Bar)', self::newStaticStatic());
81+
assertType('StaticWithThisChained\Foo', Foo::newStaticStatic());
82+
assertType('StaticWithThisChained\Bar', Bar::newStaticStatic());
83+
84+
assertType('$this(StaticWithThisChained\Bar)', $this->getThis()->getThis());
85+
assertType('static(StaticWithThisChained\Bar)', $this->newStatic()->getThis());
86+
assertType('static(StaticWithThisChained\Bar)', static::newStaticStatic()->getThis());
87+
assertType('static(StaticWithThisChained\Bar)', self::newStaticStatic()->getThis());
88+
assertType('StaticWithThisChained\Foo', Foo::newStaticStatic()->getThis());
89+
assertType('StaticWithThisChained\Bar', Bar::newStaticStatic()->getThis());
90+
}
91+
92+
public function testPropertyChained(): void
93+
{
94+
assertType('$this(StaticWithThisChained\Bar)', $this->propThis);
95+
assertType('static(StaticWithThisChained\Bar)', $this->propStatic);
96+
assertType('static(StaticWithThisChained\Bar)', static::$propStaticStatic);
97+
assertType('static(StaticWithThisChained\Bar)', self::$propStaticStatic);
98+
assertType('StaticWithThisChained\Foo', Foo::$propStaticStatic);
99+
assertType('StaticWithThisChained\Bar', Bar::$propStaticStatic);
100+
101+
assertType('$this(StaticWithThisChained\Bar)', $this->propThis->propThis);
102+
assertType('static(StaticWithThisChained\Bar)', $this->propStatic->propThis);
103+
assertType('static(StaticWithThisChained\Bar)', static::$propStaticStatic->propThis);
104+
assertType('static(StaticWithThisChained\Bar)', self::$propStaticStatic->propThis);
105+
assertType('StaticWithThisChained\Foo', Foo::$propStaticStatic->propThis);
106+
assertType('StaticWithThisChained\Bar', Bar::$propStaticStatic->propThis);
72107
}
73108
}

0 commit comments

Comments
 (0)