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 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<?php
namespace Illuminate\Tests\Integration\Routing;
use Illuminate\Support\Facades\Route;
use Orchestra\Testbench\TestCase;
class FluentRoutingTest extends TestCase
{
public static $value = '';
public function testMiddlewareRunWhenRegisteredAsArrayOrParams()
{
$controller = function () {
return 'Hello World';
};
Route::middleware(Middleware::class, Middleware2::class)
->get('before', $controller);
Route::get('after', $controller)
->middleware(Middleware::class, Middleware2::class);
Route::middleware([Middleware::class, Middleware2::class])
->get('before_array', $controller);
Route::get('after_array', $controller)
->middleware([Middleware::class, Middleware2::class]);
Route::middleware(Middleware::class)
->get('before_after', $controller)
->middleware([Middleware2::class]);
Route::middleware(Middleware::class)
->middleware(Middleware2::class)
->get('both_before', $controller);
Route::get('both_after', $controller)
->middleware(Middleware::class)
->middleware(Middleware2::class);
$this->assertSame('1_2', $this->get('before')->content());
$this->assertSame('1_2', $this->get('after')->content());
$this->assertSame('1_2', $this->get('before_array')->content());
$this->assertSame('1_2', $this->get('after_array')->content());
$this->assertSame('1_2', $this->get('before_after')->content());
$this->assertSame('1_2', $this->get('both_before')->content());
$this->assertSame('1_2', $this->get('both_after')->content());
$this->assertSame('1_2', $this->get('both_after')->content());
}
public function testEmptyMiddlewareGroupAreHandledGracefully()
{
$controller = function () {
return 'Hello World';
};
Route::middlewareGroup('public', []);
Route::middleware('public')
->get('public', $controller);
$this->assertSame('Hello World', $this->get('public')->content());
}
}
class Middleware
{
public function handle($request, $next)
{
FluentRoutingTest::$value = '1';
return $next($request);
}
}
class Middleware2
{
public function handle()
{
return FluentRoutingTest::$value.'_2';
}
}
|