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
|
<?php
namespace Illuminate\Tests\Routing;
use Illuminate\Routing\RouteUri;
use PHPUnit\Framework\TestCase;
class RouteUriTest extends TestCase
{
public function testRouteUrisAreProperlyParsed()
{
$parsed = RouteUri::parse('/foo');
$this->assertSame('/foo', $parsed->uri);
$this->assertEquals([], $parsed->bindingFields);
$parsed = RouteUri::parse('/foo/{bar}');
$this->assertSame('/foo/{bar}', $parsed->uri);
$this->assertEquals([], $parsed->bindingFields);
$parsed = RouteUri::parse('/foo/{bar:slug}');
$this->assertSame('/foo/{bar}', $parsed->uri);
$this->assertEquals(['bar' => 'slug'], $parsed->bindingFields);
$parsed = RouteUri::parse('/foo/{bar}/baz/{qux:slug}');
$this->assertSame('/foo/{bar}/baz/{qux}', $parsed->uri);
$this->assertEquals(['qux' => 'slug'], $parsed->bindingFields);
$parsed = RouteUri::parse('/foo/{bar}/baz/{qux:slug?}');
$this->assertSame('/foo/{bar}/baz/{qux?}', $parsed->uri);
$this->assertEquals(['qux' => 'slug'], $parsed->bindingFields);
$parsed = RouteUri::parse('/foo/{bar}/baz/{qux:slug?}/{test:id?}');
$this->assertSame('/foo/{bar}/baz/{qux?}/{test?}', $parsed->uri);
$this->assertEquals(['qux' => 'slug', 'test' => 'id'], $parsed->bindingFields);
}
}
|