81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Tests\Unit\Http\Middleware;
 | 
						|
 | 
						|
use App\Http\Middleware\NormalizeLineEnding;
 | 
						|
use Illuminate\Foundation\Testing\RefreshDatabase;
 | 
						|
use Illuminate\Foundation\Testing\WithFaker;
 | 
						|
use Illuminate\Http\Request;
 | 
						|
use Tests\TestCase;
 | 
						|
 | 
						|
class NormalizeLineEndingTest extends TestCase
 | 
						|
{
 | 
						|
    public function testCRLFtoLF()
 | 
						|
    {
 | 
						|
        $request = Request::create('/');
 | 
						|
        $request->replace([
 | 
						|
            'test' => "foo\r\nbar"
 | 
						|
        ]);
 | 
						|
 | 
						|
        $middleware = new NormalizeLineEnding();
 | 
						|
 | 
						|
        $middleware->handle($request, function (Request $request) {
 | 
						|
            $this->assertEquals("foo\nbar", $request->input('test'));
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCRtoLF()
 | 
						|
    {
 | 
						|
        $request = Request::create('/');
 | 
						|
        $request->replace([
 | 
						|
            'test' => "foo\rbar"
 | 
						|
        ]);
 | 
						|
 | 
						|
        $middleware = new NormalizeLineEnding();
 | 
						|
 | 
						|
        $middleware->handle($request, function (Request $request) {
 | 
						|
            $this->assertEquals("foo\nbar", $request->input('test'));
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    public function testLFtoLF()
 | 
						|
    {
 | 
						|
        $request = Request::create('/');
 | 
						|
        $request->replace([
 | 
						|
            'test' => "foo\nbar"
 | 
						|
        ]);
 | 
						|
 | 
						|
        $middleware = new NormalizeLineEnding();
 | 
						|
 | 
						|
        $middleware->handle($request, function (Request $request) {
 | 
						|
            $this->assertEquals("foo\nbar", $request->input('test'));
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    public function testArrayRequest()
 | 
						|
    {
 | 
						|
        $request = Request::create('/');
 | 
						|
        $request->replace([
 | 
						|
            'test' => "foo\r\nbar",
 | 
						|
            'hash' => [
 | 
						|
                'yuzuki' => "yuzuki\r\nyukari",
 | 
						|
                'miku' => "hatsune\r\nmiku",
 | 
						|
            ],
 | 
						|
            'array' => [
 | 
						|
                "kagamine\r\nrin",
 | 
						|
                "kagamine\r\nlen"
 | 
						|
            ]
 | 
						|
        ]);
 | 
						|
 | 
						|
        $middleware = new NormalizeLineEnding();
 | 
						|
 | 
						|
        $middleware->handle($request, function (Request $request) {
 | 
						|
            $this->assertEquals("foo\nbar", $request->input('test'));
 | 
						|
            $this->assertEquals("yuzuki\nyukari", $request->input('hash.yuzuki'));
 | 
						|
            $this->assertEquals("hatsune\nmiku", $request->input('hash.miku'));
 | 
						|
            $this->assertEquals("kagamine\nrin", $request->input('array.0'));
 | 
						|
            $this->assertEquals("kagamine\nlen", $request->input('array.1'));
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 |