|
| 1 | +<?php |
| 2 | + |
| 3 | +declare(strict_types=1); |
| 4 | + |
| 5 | +use Nette\PhpGenerator\Helpers; |
| 6 | +use Tester\Assert; |
| 7 | + |
| 8 | + |
| 9 | +require __DIR__ . '/../bootstrap.php'; |
| 10 | + |
| 11 | + |
| 12 | +$foo = false; |
| 13 | +Assert::null(Helpers::validateType('', $foo)); |
| 14 | +Assert::null(Helpers::validateType(null, $foo)); |
| 15 | +Assert::same('Foo', Helpers::validateType('Foo', $foo)); |
| 16 | +Assert::same('Foo\Bar', Helpers::validateType('Foo\Bar', $foo)); |
| 17 | +Assert::same('\Foo\Bar', Helpers::validateType('\Foo\Bar', $foo)); |
| 18 | +Assert::same('Foo', Helpers::validateType('?Foo', $foo)); |
| 19 | +Assert::true($foo); |
| 20 | +Assert::same('Foo|Bar', Helpers::validateType('Foo|Bar', $foo)); |
| 21 | +Assert::same('Foo&Bar\X', Helpers::validateType('Foo&Bar\X', $foo)); |
| 22 | +Assert::same('(Foo&Bar\X)|Baz', Helpers::validateType('(Foo&Bar\X)|Baz', $foo)); |
| 23 | +Assert::same('Abc\C|(Abc\X&Abc\D)|null', Helpers::validateType('Abc\C|(Abc\X&Abc\D)|null', $foo)); |
| 24 | + |
| 25 | +Assert::exception( |
| 26 | + fn() => Helpers::validateType('-', $foo), |
| 27 | + Nette\InvalidArgumentException::class, |
| 28 | +); |
| 29 | + |
| 30 | +Assert::exception( |
| 31 | + fn() => Helpers::validateType('?Foo|Bar', $foo), |
| 32 | + Nette\InvalidArgumentException::class, |
| 33 | +); |
| 34 | + |
| 35 | +Assert::exception( |
| 36 | + fn() => Helpers::validateType('(Foo)', $foo), |
| 37 | + Nette\InvalidArgumentException::class, |
| 38 | +); |
| 39 | + |
| 40 | +Assert::exception( |
| 41 | + fn() => Helpers::validateType('(Foo&Bar)', $foo), |
| 42 | + Nette\InvalidArgumentException::class, |
| 43 | +); |
0 commit comments