1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<?php
/**
* Test: Nette\SmartObject undeclared method hints.
*/
declare(strict_types=1);
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
class TestClass
{
use Nette\SmartObject;
private function methodO()
{
}
public function methodO2()
{
}
private static function methodS()
{
}
public static function methodS2()
{
}
}
$obj = new TestClass;
Assert::exception(
fn() => $obj->abc(),
Nette\MemberAccessException::class,
'Call to undefined method TestClass::abc().',
);
Assert::exception(
fn() => $obj->method(),
Nette\MemberAccessException::class,
'Call to undefined method TestClass::method(), did you mean methodO2()?',
);
Assert::exception(
fn() => TestClass::abc(),
Nette\MemberAccessException::class,
'Call to undefined static method TestClass::abc().',
);
Assert::exception(
fn() => TestClass::method(),
Nette\MemberAccessException::class,
'Call to undefined static method TestClass::method(), did you mean methodS2()?',
);
if (extension_loaded('gd')) {
Assert::exception(
fn() => Nette\Utils\Image::fromBlank(1, 1)->filledElippse(),
Nette\MemberAccessException::class,
'Call to undefined method Nette\Utils\Image::filledElippse(), did you mean filledEllipse()?',
);
}
|