From 58d8b2dd9211cb0a8f633ffb2cf07adec0f264fd Mon Sep 17 00:00:00 2001 From: Simon Dann Date: Tue, 16 Jan 2018 14:21:11 +0000 Subject: [PATCH] :sparkles: renamed oldFile function to rememberedFile (#8) --- README.md | 6 +++--- src/helpers.php | 15 +++++++++++++-- tests/UploadTest.php | 20 ++++++++++---------- tests/stubs/ValidationTestController.php | 2 +- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index feb4b33..8ab0e52 100644 --- a/README.md +++ b/README.md @@ -33,18 +33,18 @@ Now you can assign the middleware `remember.files` to routes that you want the p To ensure that remembered files remain as such accross page refreshes (due to other validation errors) you need to include a reference by way of using a hidden input field with the name `_rememberedFiles`. ```php -@if( $oldFile = oldFile('file')) +@if( $oldFile = rememberedFile('file')) @else @endif ``` -Then within your controller code you can obtain the file via the `oldFile` helper: +Then within your controller code you can obtain the file via the `rememberedFile` helper: ```php function store(Illuminate\Http\Request $request) { - if ($file = oldFile('img', $request->file('img'))) { + if ($file = $request->file('img', rememberedFile('img')) { // ... File exists ... } } diff --git a/src/helpers.php b/src/helpers.php index 9f19a94..beaead4 100644 --- a/src/helpers.php +++ b/src/helpers.php @@ -7,13 +7,14 @@ function clearRememberedFiles() { } } -if (! function_exists('oldFile')) { +if (! function_exists('rememberedFile')) +{ /** * @param null|string $key * @param null|mixed $default * @return mixed|\Symfony\Component\HttpFoundation\FileBag|Illuminate\Http\UploadedFile */ - function oldFile($key = null, $default = null) { + function rememberedFile($key = null, $default = null) { /** @var Illuminate\Session\Store $session */ $session = app('session'); @@ -39,3 +40,13 @@ function oldFile($key = null, $default = null) { return is_null($key) ? $fileBag : $fileBag->get($key, $default); } } + +if (! function_exists('oldFile')) { + /** + * @deprecated + * @throws Exception + */ + function oldFile() { + throw new Exception('The oldFile function has been deprecated in favour of using rememberedFile'); + } +} diff --git a/tests/UploadTest.php b/tests/UploadTest.php index 473e84a..7976c87 100644 --- a/tests/UploadTest.php +++ b/tests/UploadTest.php @@ -113,7 +113,7 @@ public function testFileControllerExample() $router = $this->app->make('router'); $router->post('test-request', function (Request $request) { - $file = oldFile('img', $request->file('img')); + $file = rememberedFile('img', $request->file('img')); return ['ok' => true, 'filename' => $file->getFilename(), 'pathname' => $file->getPathname()]; })->middleware('remember.files'); @@ -127,7 +127,7 @@ public function testFileControllerExample() $session->ageFlashData(); // Post the _rememberedFiles value - $response = $this->call('POST', 'test-request', ['_rememberedFiles' => ['img' => oldFile('img')->getFilename()]], [], [], ['Accept' => 'application/json']); + $response = $this->call('POST', 'test-request', ['_rememberedFiles' => ['img' => rememberedFile('img')->getFilename()]], [], [], ['Accept' => 'application/json']); $content = json_decode($response->content()); $this->assertSame($file->getFilename(), $content->filename); @@ -193,16 +193,16 @@ public function testHelper() $this->assertTrue($response->isOk()); $session->ageFlashData(); - $fileBag = oldFile(); + $fileBag = rememberedFile(); $this->assertInstanceOf(FileBag::class, $fileBag); $this->assertInstanceOf(\Symfony\Component\HttpFoundation\File\UploadedFile::class, $fileBag->get('img')); - $oldFile = oldFile('img'); - $this->assertInstanceOf(\Symfony\Component\HttpFoundation\File\UploadedFile::class, $oldFile); + $rememberedFile = rememberedFile('img'); + $this->assertInstanceOf(\Symfony\Component\HttpFoundation\File\UploadedFile::class, $rememberedFile); - $this->assertNull(oldFile('test')); - $this->assertTrue(oldFile('test', true)); - $this->assertFalse(oldFile('test', false)); + $this->assertNull(rememberedFile('test')); + $this->assertTrue(rememberedFile('test', true)); + $this->assertFalse(rememberedFile('test', false)); } @@ -232,7 +232,7 @@ public function testValidationPasses() $response = $this->call('POST', 'test-validation', [], [], [], ['Accept' => 'application/json']); $this->assertFalse($response->isOk()); - // Test controller based oldFile is working. + // Test controller based rememberedFile is working. $file = $this->mockUploadedFile(__DIR__.DIRECTORY_SEPARATOR.'stubs'.DIRECTORY_SEPARATOR.'test.jpg'); $response = $this->call('POST', 'test-validation', [], [], ['img' => $file], ['Accept' => 'application/json']); $this->assertTrue($response->isOk()); @@ -271,7 +271,7 @@ public function testFilesForgottenWhenValidationFails() $response = $this->call('POST', 'test-validation', [], [], ['img' => $file], ['Accept' => 'application/json']); $this->assertFalse($response->isOk()); - $remembered = oldFile('img'); + $remembered = rememberedFile('img'); $this->assertNull($remembered); } diff --git a/tests/stubs/ValidationTestController.php b/tests/stubs/ValidationTestController.php index 48af1f3..4bcf400 100644 --- a/tests/stubs/ValidationTestController.php +++ b/tests/stubs/ValidationTestController.php @@ -16,7 +16,7 @@ public function fileUpload(Request $request) 'img' => 'required_without:_rememberedFiles.img|mimes:jpeg' ]); - $file = oldFile('img', $request->file('img')); + $file = rememberedFile('img', $request->file('img')); return json_encode([ 'name' => $file->getFilename()