diff --git a/tests/Unit/Http/Middleware/NormalizeLineEndingTest.php b/tests/Unit/Http/Middleware/NormalizeLineEndingTest.php new file mode 100644 index 0000000..7d16f0b --- /dev/null +++ b/tests/Unit/Http/Middleware/NormalizeLineEndingTest.php @@ -0,0 +1,80 @@ +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')); + }); + } +}