RouteActionTest.php 915 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace Illuminate\Tests\Routing;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Routing\RouteAction;
  5. use Laravel\SerializableClosure\SerializableClosure;
  6. use Opis\Closure\SerializableClosure as OpisSerializableClosure;
  7. use PHPUnit\Framework\TestCase;
  8. class RouteActionTest extends TestCase
  9. {
  10. public function test_it_can_detect_a_serialized_closure()
  11. {
  12. $callable = function (RouteActionUser $user) {
  13. return $user;
  14. };
  15. $action = ['uses' => serialize(\PHP_VERSION_ID < 70400
  16. ? new OpisSerializableClosure($callable)
  17. : new SerializableClosure($callable)
  18. )];
  19. $this->assertTrue(RouteAction::containsSerializedClosure($action));
  20. $action = ['uses' => 'FooController@index'];
  21. $this->assertFalse(RouteAction::containsSerializedClosure($action));
  22. }
  23. }
  24. class RouteActionUser extends Model
  25. {
  26. //
  27. }