12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- declare(strict_types = 1);
- namespace App\Tests\Core;
- use App\Core\Router\RouteLoader;
- use App\Core\Router\Router;
- use App\Util\GNUsocialTestCase;
- use ReflectionClass;
- use Symfony\Component\Routing\Route as SRoute;
- class RouterTest extends GNUsocialTestCase
- {
- public function testRouter()
- {
- parent::bootKernel();
- $rl = new RouteLoader();
- $rl->load('', null);
- $rl->connect(id: 'test_route', uri_path: '/test/{id<\d+>}', target: []);
- $refl = (new ReflectionClass($rl))->getProperty('rc');
- $refl->setAccessible(true);
- $routes = $refl->getValue($rl)->all();
- static::assertIsArray($routes);
- static::assertInstanceOf(SRoute::class, $routes['test_route']);
- static::assertSame('/test/{id}', $routes['test_route']->getPath());
- }
- public function testURLGen()
- {
- parent::bootKernel();
- static::assertSame(
- expected: '/object/note/1337/attachment/42/thumbnail/big',
- actual: Router::url('note_attachment_thumbnail', [
- 'note_id' => 1337,
- 'attachment_id' => 42,
- 'size' => 'big',
- ]),
- );
- }
- }
|