TrimStringsTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Illuminate\Tests\Foundation\Bootstrap\Http\Middleware;
  3. use Illuminate\Foundation\Http\Middleware\TrimStrings;
  4. use Illuminate\Http\Request;
  5. use PHPUnit\Framework\TestCase;
  6. use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
  7. class TrimStringsTest extends TestCase
  8. {
  9. public function testTrimStringsIgnoringExceptAttribute()
  10. {
  11. $middleware = new TrimStringsWithExceptAttribute;
  12. $symfonyRequest = new SymfonyRequest([
  13. 'abc' => ' 123 ',
  14. 'xyz' => ' 456 ',
  15. 'foo' => ' 789 ',
  16. 'bar' => ' 010 ',
  17. ]);
  18. $symfonyRequest->server->set('REQUEST_METHOD', 'GET');
  19. $request = Request::createFromBase($symfonyRequest);
  20. $middleware->handle($request, function (Request $request) {
  21. $this->assertSame('123', $request->get('abc'));
  22. $this->assertSame('456', $request->get('xyz'));
  23. $this->assertSame(' 789 ', $request->get('foo'));
  24. $this->assertSame(' 010 ', $request->get('bar'));
  25. });
  26. }
  27. }
  28. class TrimStringsWithExceptAttribute extends TrimStrings
  29. {
  30. protected $except = [
  31. 'foo',
  32. 'bar',
  33. ];
  34. }