diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2163829f..fbcf620d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -48,6 +48,7 @@ All SourceAdapter classes have been significantly refactored.
### Other
- Improved MediableCollection annotions to support generic types
- Removed the `\Plank\Mediable\Stream` class in favor of the `guzzlehttp/psr7` implementation. This removes the direct dependency on the `psr/http-message` library.
+- `\Plank\Mediable\HandlesMediaUploadExceptions::transformMediaUploadException()` parameter and return type changed from `\Exception` to `\Throwable`.
## 5.5.0 - 2022-05-09
- Filename and pathname sanitization will use the app locale when transliterating UTF-8 characters to ascii.
diff --git a/UPGRADING.md b/UPGRADING.md
index 66461c64..7b5f9d74 100644
--- a/UPGRADING.md
+++ b/UPGRADING.md
@@ -27,6 +27,7 @@
* Install the necessary command line tools for the types of images that you are working with. See [spatie/image-optimizer documentation](https://github.com/spatie/image-optimizer/blob/main/README.md#optimization-tools) for installation instructions on various operating systems.
* add the `image_optimization.enabled` and `image_optimization.optimizers` configs to the `config/mediable.php` file. See the [sample configuration file](https://github.com/plank/laravel-mediable/blob/master/config/mediable.php) for a recommended baseline setup.
* The `ImageManipulation::usingHashForFilename()` method has been renamed to `ImageManipulation::isUsingHashForFilename()` to avoid confusion with the `useHashForFilename()` method.
+* `\Plank\Mediable\HandlesMediaUploadExceptions::transformMediaUploadException()` parameter and return type changed from `\Exception` to `\Throwable`.
## 4.x to 5.x
diff --git a/src/HandlesMediaUploadExceptions.php b/src/HandlesMediaUploadExceptions.php
index 1c7e170c..98248a51 100644
--- a/src/HandlesMediaUploadExceptions.php
+++ b/src/HandlesMediaUploadExceptions.php
@@ -50,10 +50,10 @@ trait HandlesMediaUploadExceptions
/**
* Transform a MediaUploadException into an HttpException.
*
- * @param \Exception $e
- * @return \Exception
+ * @param \Throwable $e
+ * @return \Throwable
*/
- protected function transformMediaUploadException(Exception $e): Exception
+ protected function transformMediaUploadException(\Throwable $e): \Throwable
{
if ($e instanceof MediaUploadException) {
$status_code = $this->getStatusCodeForMediaUploadException($e);
diff --git a/src/ImageManipulation.php b/src/ImageManipulation.php
index a38707e5..b69afcec 100644
--- a/src/ImageManipulation.php
+++ b/src/ImageManipulation.php
@@ -71,7 +71,7 @@ public function __construct(callable $callback)
$this->setOptimizers(config('mediable.image_optimization.optimizers', []));
}
- public static function make(callable $callback)
+ public static function make(callable $callback): self
{
return new self($callback);
}
@@ -411,7 +411,7 @@ public function getOptimizerChain(): OptimizerChain
return $chain;
}
- private function setOptimizers(array $customOptimizers)
+ private function setOptimizers(array $customOptimizers): void
{
foreach ($customOptimizers as $optimizerClass => $args) {
if (!is_a($optimizerClass, Optimizer::class, true)) {
diff --git a/src/ImageManipulator.php b/src/ImageManipulator.php
index 72301f6b..9b9764c5 100644
--- a/src/ImageManipulator.php
+++ b/src/ImageManipulator.php
@@ -310,7 +310,7 @@ public function determineFilename(
return sprintf('%s-%s', $originalMedia->filename, $variant->variant_name);
}
- public function validateMedia(Media $media)
+ public function validateMedia(Media $media): void
{
if ($media->aggregate_type != Media::TYPE_IMAGE) {
throw ImageManipulationException::invalidMediaType($media->aggregate_type);
diff --git a/src/Jobs/CreateImageVariants.php b/src/Jobs/CreateImageVariants.php
index f5cece8f..456d217f 100644
--- a/src/Jobs/CreateImageVariants.php
+++ b/src/Jobs/CreateImageVariants.php
@@ -47,7 +47,7 @@ public function __construct($models, $variantNames, bool $forceRecreate = false)
$this->forceRecreate = $forceRecreate;
}
- public function handle()
+ public function handle(): void
{
foreach ($this->getModels() as $model) {
foreach ($this->getVariantNames() as $variantName) {
diff --git a/src/Media.php b/src/Media.php
index 1c32f8e6..dd8c24a2 100644
--- a/src/Media.php
+++ b/src/Media.php
@@ -301,7 +301,7 @@ public function scopeWhereIsOriginal(Builder $q): void
$q->whereNull('original_media_id');
}
- public function scopeWhereIsVariant(Builder $q, string $variant_name = null)
+ public function scopeWhereIsVariant(Builder $q, string $variant_name = null): void
{
$q->whereNotNull('original_media_id');
if ($variant_name) {
@@ -407,7 +407,7 @@ public function contents(): string
* Get a read stream to the file
* @return StreamInterface
*/
- public function stream()
+ public function stream(): StreamInterface
{
$stream = $this->storage()->readStream($this->getDiskPath());
if (method_exists(Utils::class, 'streamFor')) {
diff --git a/src/UrlGenerators/BaseUrlGenerator.php b/src/UrlGenerators/BaseUrlGenerator.php
index 93e96140..34abaa6e 100644
--- a/src/UrlGenerators/BaseUrlGenerator.php
+++ b/src/UrlGenerators/BaseUrlGenerator.php
@@ -47,7 +47,7 @@ public function isPubliclyAccessible(): bool
* @param mixed $default
* @return mixed
*/
- protected function getDiskConfig(string $key, $default = null)
+ protected function getDiskConfig(string $key, $default = null): mixed
{
return $this->config->get("filesystems.disks.{$this->media->disk}.{$key}", $default);
}
diff --git a/tests/Integration/Commands/ImportMediaCommandTest.php b/tests/Integration/Commands/ImportMediaCommandTest.php
index 1d331b05..55118b39 100644
--- a/tests/Integration/Commands/ImportMediaCommandTest.php
+++ b/tests/Integration/Commands/ImportMediaCommandTest.php
@@ -25,7 +25,7 @@ public function getEnvironmentSetUp($app)
$app['config']->set('mediable.strict_type_checking', false);
}
- public function test_it_creates_media_for_unmatched_files()
+ public function test_it_creates_media_for_unmatched_files(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->make(['disk' => 'tmp', 'filename' => 'foo']);
@@ -42,7 +42,7 @@ public function test_it_creates_media_for_unmatched_files()
);
}
- public function test_it_creates_media_for_unmatched_files_in_directory()
+ public function test_it_creates_media_for_unmatched_files_in_directory(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->make(
@@ -60,7 +60,7 @@ public function test_it_creates_media_for_unmatched_files_in_directory()
$this->assertEquals(['bar'], Media::pluck('filename')->toArray());
}
- public function test_it_creates_media_for_unmatched_files_non_recursively()
+ public function test_it_creates_media_for_unmatched_files_non_recursively(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->make(
@@ -81,7 +81,7 @@ public function test_it_creates_media_for_unmatched_files_non_recursively()
$this->assertEquals(['foo'], Media::pluck('filename')->toArray());
}
- public function test_it_skips_files_of_unmatched_aggregate_type()
+ public function test_it_skips_files_of_unmatched_aggregate_type(): void
{
$artisan = $this->getArtisan();
$filesystem = app(FilesystemManager::class);
@@ -105,7 +105,7 @@ public function test_it_skips_files_of_unmatched_aggregate_type()
);
}
- public function test_it_updates_existing_media()
+ public function test_it_updates_existing_media(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->create(
@@ -141,7 +141,7 @@ public function test_it_updates_existing_media()
);
}
- protected function getArtisan()
+ protected function getArtisan(): Artisan
{
return app(Artisan::class);
}
diff --git a/tests/Integration/Commands/PruneMediaCommandTest.php b/tests/Integration/Commands/PruneMediaCommandTest.php
index 511e345f..9002078a 100644
--- a/tests/Integration/Commands/PruneMediaCommandTest.php
+++ b/tests/Integration/Commands/PruneMediaCommandTest.php
@@ -16,7 +16,7 @@ public function setUp(): void
$this->withoutMockingConsoleOutput();
}
- public function test_it_deletes_media_without_files()
+ public function test_it_deletes_media_without_files(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->create(['id' => 1, 'disk' => 'tmp']);
@@ -29,7 +29,7 @@ public function test_it_deletes_media_without_files()
$this->assertEquals("Pruned 1 record(s).\n", $artisan->output());
}
- public function test_it_prunes_directory()
+ public function test_it_prunes_directory(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->create(
@@ -45,7 +45,7 @@ public function test_it_prunes_directory()
$this->assertEquals("Pruned 1 record(s).\n", $artisan->output());
}
- public function test_it_prunes_non_recursively()
+ public function test_it_prunes_non_recursively(): void
{
$artisan = $this->getArtisan();
$media1 = factory(Media::class)->create(
@@ -61,7 +61,7 @@ public function test_it_prunes_non_recursively()
$this->assertEquals("Pruned 1 record(s).\n", $artisan->output());
}
- public function getArtisan()
+ public function getArtisan(): Artisan
{
return app(Artisan::class);
}
diff --git a/tests/Integration/Commands/SyncMediaCommandTest.php b/tests/Integration/Commands/SyncMediaCommandTest.php
index 360845d4..33d12a74 100644
--- a/tests/Integration/Commands/SyncMediaCommandTest.php
+++ b/tests/Integration/Commands/SyncMediaCommandTest.php
@@ -7,7 +7,7 @@
class SyncMediaCommandTest extends TestCase
{
- public function test_it_calls_prune_and_install()
+ public function test_it_calls_prune_and_install(): void
{
$this->withoutMockingConsoleOutput();
/** @var SyncMediaCommand $command */
diff --git a/tests/Integration/ConnectionTest.php b/tests/Integration/ConnectionTest.php
index 4baf06b9..31183cff 100644
--- a/tests/Integration/ConnectionTest.php
+++ b/tests/Integration/ConnectionTest.php
@@ -16,7 +16,7 @@ public function setUp(): void
$this->useDatabase();
}
- public function test_it_can_use_different_connection()
+ public function test_it_can_use_different_connection(): void
{
$media = factory(Media::class)->create(['id' => 1]);
$mediable = factory(SampleMediable::class)->create();
@@ -32,7 +32,7 @@ public function test_it_can_use_different_connection()
$this->assertEquals(1, $mediable->firstMedia('foo')->id);
}
- protected function setupConnection()
+ protected function setupConnection(): void
{
$this->app['config']->set('database.connections.my_connection', [
'driver' => 'sqlite',
diff --git a/tests/Integration/HandlesMediaExceptionsTest.php b/tests/Integration/HandlesMediaExceptionsTest.php
index 26528488..fed16c79 100644
--- a/tests/Integration/HandlesMediaExceptionsTest.php
+++ b/tests/Integration/HandlesMediaExceptionsTest.php
@@ -15,7 +15,7 @@
class HandlesMediaExceptionsTest extends TestCase
{
- public function test_it_returns_a_403_for_disallowed_disk()
+ public function test_it_returns_a_403_for_disallowed_disk(): void
{
$e = (new SampleExceptionHandler())->render(
ForbiddenException::diskNotAllowed('foo')
@@ -24,7 +24,7 @@ public function test_it_returns_a_403_for_disallowed_disk()
$this->assertHttpException($e, 403);
}
- public function test_it_returns_a_404_for_missing_file()
+ public function test_it_returns_a_404_for_missing_file(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotFoundException::fileNotFound('non/existing.jpg')
@@ -33,7 +33,7 @@ public function test_it_returns_a_404_for_missing_file()
$this->assertHttpException($e, 404);
}
- public function test_it_returns_a_409_on_duplicate_file()
+ public function test_it_returns_a_409_on_duplicate_file(): void
{
$e = (new SampleExceptionHandler())->render(
FileExistsException::fileExists('already/existing.jpg')
@@ -42,7 +42,7 @@ public function test_it_returns_a_409_on_duplicate_file()
$this->assertHttpException($e, 409);
}
- public function test_it_returns_a_413_for_too_big_file()
+ public function test_it_returns_a_413_for_too_big_file(): void
{
$e = (new SampleExceptionHandler())->render(
FileSizeException::fileIsTooBig(3, 2)
@@ -51,7 +51,7 @@ public function test_it_returns_a_413_for_too_big_file()
$this->assertHttpException($e, 413);
}
- public function test_it_returns_a_415_for_type_mismatch()
+ public function test_it_returns_a_415_for_type_mismatch(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotSupportedException::strictTypeMismatch('text/foo', 'bar')
@@ -60,7 +60,7 @@ public function test_it_returns_a_415_for_type_mismatch()
$this->assertHttpException($e, 415);
}
- public function test_it_returns_a_415_for_unknown_type()
+ public function test_it_returns_a_415_for_unknown_type(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotSupportedException::unrecognizedFileType('text/foo', 'bar')
@@ -69,7 +69,7 @@ public function test_it_returns_a_415_for_unknown_type()
$this->assertHttpException($e, 415);
}
- public function test_it_returns_a_415_for_restricted_type()
+ public function test_it_returns_a_415_for_restricted_type(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotSupportedException::mimeRestricted('text/foo', ['text/bar'])
@@ -78,7 +78,7 @@ public function test_it_returns_a_415_for_restricted_type()
$this->assertHttpException($e, 415);
}
- public function test_it_returns_a_415_for_restricted_extension()
+ public function test_it_returns_a_415_for_restricted_extension(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotSupportedException::extensionRestricted('foo', ['bar'])
@@ -87,7 +87,7 @@ public function test_it_returns_a_415_for_restricted_extension()
$this->assertHttpException($e, 415);
}
- public function test_it_returns_a_415_for_restricted_aggregate_type()
+ public function test_it_returns_a_415_for_restricted_aggregate_type(): void
{
$e = (new SampleExceptionHandler())->render(
FileNotSupportedException::aggregateTypeRestricted('foo', ['bar'])
@@ -96,7 +96,7 @@ public function test_it_returns_a_415_for_restricted_aggregate_type()
$this->assertHttpException($e, 415);
}
- public function test_it_returns_a_500_for_other_exception_types()
+ public function test_it_returns_a_500_for_other_exception_types(): void
{
$e = (new SampleExceptionHandler())->render(
new ConfigurationException()
@@ -105,7 +105,7 @@ public function test_it_returns_a_500_for_other_exception_types()
$this->assertHttpException($e, 500);
}
- public function test_it_skips_any_other_exception()
+ public function test_it_skips_any_other_exception(): void
{
$e = (new SampleExceptionHandler())->render(
new Exception()
@@ -114,7 +114,7 @@ public function test_it_skips_any_other_exception()
$this->assertFalse($e instanceof HttpException);
}
- protected function assertHttpException($e, $code)
+ protected function assertHttpException($e, $code): void
{
$this->assertInstanceOf(HttpException::class, $e);
/** @var HttpException $e */
diff --git a/tests/Integration/Helpers/FileTest.php b/tests/Integration/Helpers/FileTest.php
index d6e95427..917a8ca1 100644
--- a/tests/Integration/Helpers/FileTest.php
+++ b/tests/Integration/Helpers/FileTest.php
@@ -7,7 +7,7 @@
class FileTest extends TestCase
{
- public function test_it_provides_a_cleaned_dirname()
+ public function test_it_provides_a_cleaned_dirname(): void
{
$this->assertEquals('', File::cleanDirname(''));
$this->assertEquals('', File::cleanDirname('/'));
@@ -16,19 +16,19 @@ public function test_it_provides_a_cleaned_dirname()
$this->assertEquals('foo/bar', File::cleanDirname('/foo/bar/baz.jpg'));
}
- public function test_it_converts_bytes_to_readable_strings()
+ public function test_it_converts_bytes_to_readable_strings(): void
{
$this->assertEquals('0 B', File::readableSize(0));
$this->assertEquals('1 KB', File::readableSize(1025, 0));
$this->assertEquals('1.1 MB', File::readableSize(1024 * 1024 + 1024 * 100, 2));
}
- public function test_it_guesses_the_extension_given_a_mime_type()
+ public function test_it_guesses_the_extension_given_a_mime_type(): void
{
$this->assertEquals('png', File::guessExtension('image/png'));
}
- public function test_it_sanitizes_filenames()
+ public function test_it_sanitizes_filenames(): void
{
$this->assertEquals(
'hello-world-what-ss_new-with.you',
@@ -36,7 +36,7 @@ public function test_it_sanitizes_filenames()
);
}
- public function test_it_sanitizes_filenames_with_locale()
+ public function test_it_sanitizes_filenames_with_locale(): void
{
$this->assertEquals(
'hello-world-what-sz_new-with.you',
@@ -44,7 +44,7 @@ public function test_it_sanitizes_filenames_with_locale()
);
}
- public function test_it_sanitizes_paths()
+ public function test_it_sanitizes_paths(): void
{
$this->assertEquals(
'hello/world-what-s_new-with.you',
@@ -52,7 +52,7 @@ public function test_it_sanitizes_paths()
);
}
- public function test_it_joins_path_components()
+ public function test_it_joins_path_components(): void
{
$this->assertEquals('', File::joinPathComponents('', ''));
$this->assertEquals('foo', File::joinPathComponents('foo', ''));
diff --git a/tests/Integration/ImageManipulationTest.php b/tests/Integration/ImageManipulationTest.php
index 6451ee31..c175750f 100644
--- a/tests/Integration/ImageManipulationTest.php
+++ b/tests/Integration/ImageManipulationTest.php
@@ -9,14 +9,14 @@
class ImageManipulationTest extends TestCase
{
- public function test_can_get_set_manipulation_callback()
+ public function test_can_get_set_manipulation_callback(): void
{
$callback = $this->getMockCallable();
$manipulation = new ImageManipulation($callback);
$this->assertSame($callback, $manipulation->getCallback());
}
- public function test_can_get_set_output_quality()
+ public function test_can_get_set_output_quality(): void
{
$manipulation = new ImageManipulation($this->getMockCallable());
$this->assertEquals(90, $manipulation->getOutputQuality());
@@ -28,7 +28,7 @@ public function test_can_get_set_output_quality()
$this->assertEquals(50, $manipulation->getOutputQuality());
}
- public function test_can_get_set_output_format()
+ public function test_can_get_set_output_format(): void
{
$manipulation = new ImageManipulation($this->getMockCallable());
$this->assertNull($manipulation->getOutputFormat());
@@ -48,7 +48,7 @@ public function test_can_get_set_output_format()
$this->assertEquals('jpg', $manipulation->getOutputFormat());
}
- public function test_can_get_set_before_save_callback()
+ public function test_can_get_set_before_save_callback(): void
{
$callback = $this->getMockCallable();
$manipulation = new ImageManipulation($this->getMockCallable());
@@ -58,7 +58,7 @@ public function test_can_get_set_before_save_callback()
$this->assertSame($callback, $manipulation->getBeforeSave());
}
- public function test_destination_setters()
+ public function test_destination_setters(): void
{
$manipulation = new ImageManipulation($this->getMockCallable());
@@ -96,7 +96,7 @@ public function test_destination_setters()
$this->assertFalse($manipulation->isUsingHashForFilename());
}
- public function test_get_duplicate_behaviours()
+ public function test_get_duplicate_behaviours(): void
{
$manipulation = new ImageManipulation($this->getMockCallable());
$this->assertEquals(
@@ -115,7 +115,7 @@ public function test_get_duplicate_behaviours()
);
}
- public function test_visibility()
+ public function test_visibility(): void
{
$manipulation = new ImageManipulation($this->getMockCallable());
$this->assertNull($manipulation->getVisibility());
diff --git a/tests/Integration/ImageManipulatorTest.php b/tests/Integration/ImageManipulatorTest.php
index 3bbe47a9..9b6aa24f 100644
--- a/tests/Integration/ImageManipulatorTest.php
+++ b/tests/Integration/ImageManipulatorTest.php
@@ -17,7 +17,7 @@
class ImageManipulatorTest extends TestCase
{
- public function test_it_can_be_accessed_via_facade()
+ public function test_it_can_be_accessed_via_facade(): void
{
$this->assertInstanceOf(
ImageManipulator::class,
@@ -25,7 +25,7 @@ public function test_it_can_be_accessed_via_facade()
);
}
- public function test_it_sets_and_has_variants()
+ public function test_it_sets_and_has_variants(): void
{
$manipulator = $this->getManipulator();
$this->assertFalse($manipulator->hasVariantDefinition('foo'));
@@ -36,7 +36,7 @@ public function test_it_sets_and_has_variants()
$this->assertTrue($manipulator->hasVariantDefinition('foo'));
}
- public function test_it_retrieves_all_variants()
+ public function test_it_retrieves_all_variants(): void
{
$manipulator = $this->getManipulator();
$variant = new ImageManipulation($this->getMockCallable());
@@ -64,7 +64,7 @@ public function test_it_retrieves_all_variants()
$this->assertEquals(['foo', 'bar'], $manipulator->getAllVariantNames());
}
- public function test_it_can_store_and_retrieve_by_tag()
+ public function test_it_can_store_and_retrieve_by_tag(): void
{
$manipulator = $this->getManipulator();
$variant = new ImageManipulation($this->getMockCallable());
@@ -96,7 +96,7 @@ public function test_it_can_store_and_retrieve_by_tag()
$this->assertEquals([], $manipulator->getVariantNamesByTag('c'));
}
- public function test_it_throws_for_non_image_media()
+ public function test_it_throws_for_non_image_media(): void
{
$this->expectException(ImageManipulationException::class);
$this->expectExceptionMessage(
@@ -108,7 +108,7 @@ public function test_it_throws_for_non_image_media()
);
}
- public function test_it_throws_for_unknown_variants()
+ public function test_it_throws_for_unknown_variants(): void
{
$this->expectException(ImageManipulationException::class);
$this->expectExceptionMessage("Unknown variant 'invalid'.");
@@ -118,7 +118,7 @@ public function test_it_throws_for_unknown_variants()
);
}
- public function test_it_throws_for_indeterminate_output_format()
+ public function test_it_throws_for_indeterminate_output_format(): void
{
$this->useFilesystem('tmp');
$this->expectException(ImageManipulationException::class);
@@ -142,7 +142,7 @@ function (Image $image) {
$manipulator->createImageVariant($media, 'foo');
}
- public function test_it_can_create_a_variant()
+ public function test_it_can_create_a_variant(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -203,7 +203,7 @@ function (Image $image) {
$this->assertTrue($media->fileExists());
}
- public function test_it_can_create_a_variant_of_a_variant()
+ public function test_it_can_create_a_variant_of_a_variant(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -241,7 +241,7 @@ function (Image $image) {
$this->assertTrue($media->fileExists());
}
- public static function formatProvider()
+ public static function formatProvider(): array
{
return [
['jpg', 'image/jpeg', 100],
@@ -257,7 +257,7 @@ public function test_it_can_create_a_variant_of_a_different_format(
string $format,
string $mime,
int $quality
- ) {
+ ): void {
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -289,7 +289,7 @@ function (Image $image) {
$this->assertTrue($media->fileExists());
}
- public function test_it_can_output_to_custom_destination()
+ public function test_it_can_output_to_custom_destination(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -323,7 +323,7 @@ function (Image $image) {
$this->assertTrue($media->fileExists());
}
- public function test_it_can_output_to_hash_filename()
+ public function test_it_can_output_to_hash_filename(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -359,7 +359,7 @@ function (Image $image) {
$this->assertTrue($media->fileExists());
}
- public function test_it_errors_on_duplicate()
+ public function test_it_errors_on_duplicate(): void
{
$this->expectException(ImageManipulationException::class);
$this->useFilesystem('tmp');
@@ -390,7 +390,7 @@ function (Image $image) {
$imageManipulator->createImageVariant($media, 'test');
}
- public function test_it_errors_on_duplicate_after_before_save()
+ public function test_it_errors_on_duplicate_after_before_save(): void
{
$this->expectException(ImageManipulationException::class);
$this->useFilesystem('tmp');
@@ -424,7 +424,7 @@ function (Media $variant) {
$imageManipulator->createImageVariant($media, 'test');
}
- public function test_it_increments_on_duplicate()
+ public function test_it_increments_on_duplicate(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -458,7 +458,7 @@ function (Image $image) {
$this->assertEquals('bar-test-2', $result->filename);
}
- public function test_it_increments_on_duplicate_after_before_save()
+ public function test_it_increments_on_duplicate_after_before_save(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -493,7 +493,7 @@ function (Media $variant) {
$this->assertEquals('bar-1', $result->filename);
}
- public function test_it_skips_existing_variants()
+ public function test_it_skips_existing_variants(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -547,7 +547,7 @@ function (Image $image) {
);
}
- public function test_it_can_recreate_an_existing_variant()
+ public function test_it_can_recreate_an_existing_variant(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -599,7 +599,7 @@ function (Image $image) {
$this->assertEquals($result->size, $result2->size);
}
- public function test_it_can_recreate_existing_variant_to_a_new_destination()
+ public function test_it_can_recreate_existing_variant_to_a_new_destination(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -651,7 +651,7 @@ function (Image $image) {
$this->assertFalse($previousVariant->fileExists());
}
- public static function visibilityProvider()
+ public static function visibilityProvider(): array
{
return [
['uploads', 'public', null, true],
@@ -671,7 +671,7 @@ public function test_variant_created_with_visibility(
string $originalVisibility,
?string $manipulationVisibility,
bool $expectedVisibility
- ) {
+ ): void {
$this->useFilesystem($disk);
$this->useDatabase();
diff --git a/tests/Integration/ImageOptimizerTest.php b/tests/Integration/ImageOptimizerTest.php
index 24edb6c7..bdfb84ac 100644
--- a/tests/Integration/ImageOptimizerTest.php
+++ b/tests/Integration/ImageOptimizerTest.php
@@ -9,7 +9,7 @@
class ImageOptimizerTest extends TestCase
{
- public function test_it_can_optimize_an_image()
+ public function test_it_can_optimize_an_image(): void
{
$imageStream = Utils::streamFor(file_get_contents($this->sampleFilePath()));
diff --git a/tests/Integration/Jobs/CreateImageVariantsTest.php b/tests/Integration/Jobs/CreateImageVariantsTest.php
index db6427b7..a06f2f87 100644
--- a/tests/Integration/Jobs/CreateImageVariantsTest.php
+++ b/tests/Integration/Jobs/CreateImageVariantsTest.php
@@ -11,7 +11,7 @@
class CreateImageVariantsTest extends TestCase
{
- public function test_it_will_trigger_image_manipulation()
+ public function test_it_will_trigger_image_manipulation(): void
{
$model = $this->makeMedia(['aggregate_type' => 'image']);
$variant = 'foo';
@@ -33,7 +33,7 @@ public function test_it_will_trigger_image_manipulation()
$job->handle();
}
- public function test_it_will_trigger_image_manipulation_multiple()
+ public function test_it_will_trigger_image_manipulation_multiple(): void
{
$model1 = $this->makeMedia(['aggregate_type' => 'image']);
$model2 = $this->makeMedia(['aggregate_type' => 'image']);
@@ -65,7 +65,7 @@ public function test_it_will_trigger_image_manipulation_multiple()
$job->handle();
}
- public function test_it_will_trigger_image_manipulation_recreate()
+ public function test_it_will_trigger_image_manipulation_recreate(): void
{
$model = $this->makeMedia(['aggregate_type' => 'image']);
$variant1 = 'foo';
@@ -91,7 +91,7 @@ public function test_it_will_trigger_image_manipulation_recreate()
$job->handle();
}
- public function test_it_will_serialize_models()
+ public function test_it_will_serialize_models(): void
{
$this->useDatabase();
$model = $this->createMedia(['aggregate_type' => 'image']);
diff --git a/tests/Integration/MediaTest.php b/tests/Integration/MediaTest.php
index 264d8c9d..a98353b9 100644
--- a/tests/Integration/MediaTest.php
+++ b/tests/Integration/MediaTest.php
@@ -19,7 +19,7 @@
class MediaTest extends TestCase
{
- public function test_it_has_path_accessors()
+ public function test_it_has_path_accessors(): void
{
$media = $this->makeMedia(
[
@@ -41,7 +41,7 @@ public function test_it_has_path_accessors()
$this->assertEquals('jpg', $media->extension);
}
- public function test_it_can_be_queried_by_directory()
+ public function test_it_can_be_queried_by_directory(): void
{
$this->useDatabase();
@@ -54,7 +54,7 @@ public function test_it_can_be_queried_by_directory()
$this->assertEquals(1, Media::inDirectory('tmp', 'foo/baz')->count());
}
- public function test_it_can_be_queried_by_directory_recursively()
+ public function test_it_can_be_queried_by_directory_recursively(): void
{
$this->useDatabase();
@@ -68,7 +68,7 @@ public function test_it_can_be_queried_by_directory_recursively()
$this->assertEquals(1, Media::inDirectory('tmp', 'foo/bar/baz', true)->count());
}
- public function test_it_can_be_queried_by_basename()
+ public function test_it_can_be_queried_by_basename(): void
{
$this->useDatabase();
@@ -79,7 +79,7 @@ public function test_it_can_be_queried_by_basename()
$this->assertEquals(99, Media::whereBasename('baz.bat')->first()->id);
}
- public function test_it_can_be_queried_by_path_on_disk()
+ public function test_it_can_be_queried_by_path_on_disk(): void
{
$this->useDatabase();
@@ -98,7 +98,7 @@ public function test_it_can_be_queried_by_path_on_disk()
);
}
- public function test_it_can_be_queried_by_path_on_disk_when_directory_is_empty()
+ public function test_it_can_be_queried_by_path_on_disk_when_directory_is_empty(): void
{
$this->useDatabase();
@@ -114,7 +114,7 @@ public function test_it_can_be_queried_by_path_on_disk_when_directory_is_empty()
$this->assertEquals(4, Media::forPathOnDisk('tmp', 'bat.jpg')->first()->id);
}
- public function test_it_can_view_human_readable_file_size()
+ public function test_it_can_view_human_readable_file_size(): void
{
$media = $this->makeMedia(['size' => 0]);
@@ -127,7 +127,7 @@ public function test_it_can_view_human_readable_file_size()
$this->assertEquals('1.1 MB', $media->readableSize(2));
}
- public function test_it_can_be_checked_for_public_visibility()
+ public function test_it_can_be_checked_for_public_visibility(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -146,7 +146,7 @@ public function test_it_can_be_checked_for_public_visibility()
$this->assertTrue($media->isPubliclyAccessible());
}
- public function test_it_can_be_checked_for_public_visibility_s3()
+ public function test_it_can_be_checked_for_public_visibility_s3(): void
{
if (!$this->s3ConfigLoaded()) {
$this->markTestSkipped('S3 Credentials not available.');
@@ -172,7 +172,7 @@ public function test_it_can_be_checked_for_public_visibility_s3()
}
}
- public function test_it_can_generate_a_url_to_the_local_file()
+ public function test_it_can_generate_a_url_to_the_local_file(): void
{
$media = $this->makeMedia(
[
@@ -186,7 +186,7 @@ public function test_it_can_generate_a_url_to_the_local_file()
$this->assertEquals('http://localhost/uploads/foo/bar/baz.jpg', $media->getUrl());
}
- public function test_it_can_generate_a_custom_url_to_the_local_file()
+ public function test_it_can_generate_a_custom_url_to_the_local_file(): void
{
$this->app['config']->set('filesystems.disks.uploads.url', 'http://example.com');
$media = $this->makeMedia(
@@ -201,7 +201,7 @@ public function test_it_can_generate_a_custom_url_to_the_local_file()
$this->assertEquals('http://example.com/foo/bar/baz.jpg', $media->getUrl());
}
- public function test_it_can_generate_a_url_to_the_file_on_s3()
+ public function test_it_can_generate_a_url_to_the_file_on_s3(): void
{
if (!$this->s3ConfigLoaded()) {
$this->markTestSkipped('S3 Credentials not available.');
@@ -230,7 +230,7 @@ public function test_it_can_generate_a_url_to_the_file_on_s3()
}
}
- public function test_it_can_check_if_its_file_exists()
+ public function test_it_can_check_if_its_file_exists(): void
{
$this->useFilesystem('tmp');
@@ -240,7 +240,7 @@ public function test_it_can_check_if_its_file_exists()
$this->assertTrue($media->fileExists());
}
- public function test_it_can_be_moved_on_disk()
+ public function test_it_can_be_moved_on_disk(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -265,7 +265,7 @@ public function test_it_can_be_moved_on_disk()
$this->assertTrue($media->fileExists());
}
- public function test_it_can_be_copied_on_disk()
+ public function test_it_can_be_copied_on_disk(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -299,7 +299,7 @@ public function test_it_can_be_copied_on_disk()
$media->copyTo('alpha', 'test');
}
- public function test_it_throws_an_exception_if_moving_to_existing_file()
+ public function test_it_throws_an_exception_if_moving_to_existing_file(): void
{
$this->useFilesystem('tmp');
@@ -326,7 +326,7 @@ public function test_it_throws_an_exception_if_moving_to_existing_file()
$media1->move('', 'bar.baz');
}
- public function test_it_can_be_moved_to_another_disk_public()
+ public function test_it_can_be_moved_to_another_disk_public(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -353,7 +353,7 @@ public function test_it_can_be_moved_to_another_disk_public()
$this->assertTrue($media->isVisible());
}
- public function test_it_can_be_moved_to_another_disk_private()
+ public function test_it_can_be_moved_to_another_disk_private(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -380,7 +380,7 @@ public function test_it_can_be_moved_to_another_disk_private()
$this->assertFalse($media->isVisible());
}
- public function test_it_can_be_copied_to_another_disk_public()
+ public function test_it_can_be_copied_to_another_disk_public(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -411,7 +411,7 @@ public function test_it_can_be_copied_to_another_disk_public()
$this->assertTrue($media->isVisible());
}
- public function test_it_can_be_copied_to_another_disk_private()
+ public function test_it_can_be_copied_to_another_disk_private(): void
{
$this->useFilesystem('tmp');
$this->useFilesystem('uploads');
@@ -442,7 +442,7 @@ public function test_it_can_be_copied_to_another_disk_private()
$this->assertFalse($media->isVisible());
}
- public function test_it_can_access_file_contents()
+ public function test_it_can_access_file_contents(): void
{
$this->useFilesystem('tmp');
@@ -456,7 +456,7 @@ public function test_it_can_access_file_contents()
$this->assertEquals('
Hello World
', $media->contents());
}
- public function test_it_deletes_its_file_on_deletion()
+ public function test_it_deletes_its_file_on_deletion(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -477,7 +477,7 @@ public function test_it_deletes_its_file_on_deletion()
$this->assertFalse(file_exists($path));
}
- public function test_it_cascades_relationship_on_delete()
+ public function test_it_cascades_relationship_on_delete(): void
{
$this->useDatabase();
@@ -489,7 +489,7 @@ public function test_it_cascades_relationship_on_delete()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_doesnt_cascade_relationship_on_soft_delete()
+ public function test_it_doesnt_cascade_relationship_on_soft_delete(): void
{
$this->useDatabase();
@@ -501,7 +501,7 @@ public function test_it_doesnt_cascade_relationship_on_soft_delete()
$this->assertEquals(1, $mediable->getMedia('foo')->count());
}
- public function test_it_cascades_relationships_on_soft_delete_with_config()
+ public function test_it_cascades_relationships_on_soft_delete_with_config(): void
{
$this->useDatabase();
@@ -515,7 +515,7 @@ public function test_it_cascades_relationships_on_soft_delete_with_config()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_cascades_relationship_on_force_delete()
+ public function test_it_cascades_relationship_on_force_delete(): void
{
$this->useDatabase();
@@ -527,7 +527,7 @@ public function test_it_cascades_relationship_on_force_delete()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_retrieves_models_via_custom_mediables_table()
+ public function test_it_retrieves_models_via_custom_mediables_table(): void
{
$this->useDatabase();
@@ -542,7 +542,7 @@ public function test_it_retrieves_models_via_custom_mediables_table()
}
public function test_it_cascades_relationships_on_soft_delete_with_config_via_custom_mediables_table(
- ) {
+ ): void {
$this->useDatabase();
config()->set('mediable.mediables_table', 'prefixed_mediables');
@@ -557,7 +557,7 @@ public function test_it_cascades_relationships_on_soft_delete_with_config_via_cu
$this->assertEmpty(DB::table('prefixed_mediables')->get());
}
- public function test_it_can_stream_contents()
+ public function test_it_can_stream_contents(): void
{
$this->useFilesystem('tmp');
@@ -576,7 +576,7 @@ public function test_it_can_stream_contents()
$this->assertEquals('test', $stream->getContents());
}
- public function test_it_can_detect_variant_status()
+ public function test_it_can_detect_variant_status(): void
{
$media = $this->makeMedia(
[
@@ -607,7 +607,7 @@ public function test_it_can_detect_variant_status()
$this->assertFalse($media->isVariant('foo'));
}
- public function test_it_can_be_made_a_variant_of_another()
+ public function test_it_can_be_made_a_variant_of_another(): void
{
$this->useDatabase();
@@ -639,7 +639,7 @@ public function test_it_can_be_made_a_variant_of_another()
$this->assertEquals('foo', $media2->variant_name);
}
- public function test_it_throws_if_cant_find_new_original()
+ public function test_it_throws_if_cant_find_new_original(): void
{
$this->expectException(ModelNotFoundException::class);
$this->useDatabase();
@@ -654,7 +654,7 @@ public function test_it_throws_if_cant_find_new_original()
$media->makeVariantOf(9999, 'not_found');
}
- public function test_it_can_be_queried_by_variant_status()
+ public function test_it_can_be_queried_by_variant_status(): void
{
$this->useDatabase();
$media1 = $this->createMedia(
@@ -694,7 +694,7 @@ public function test_it_can_be_queried_by_variant_status()
);
}
- public function test_it_can_find_other_variants()
+ public function test_it_can_find_other_variants(): void
{
$media1 = $this->makeMedia(
[
@@ -768,7 +768,7 @@ public function test_it_can_find_other_variants()
$this->assertEquals($all, $media3->getAllVariantsAndSelf());
}
- public function test_it_generates_temporary_urls()
+ public function test_it_generates_temporary_urls(): void
{
$media = $this->makeMedia();
$expiry = Carbon::now();
@@ -789,7 +789,7 @@ public function test_it_generates_temporary_urls()
$this->assertEquals($url, $media->getTemporaryUrl($expiry));
}
- public function test_it_throws_for_unsupported_temporary_urls()
+ public function test_it_throws_for_unsupported_temporary_urls(): void
{
$this->expectException(MediaUrlException::class);
$media = $this->makeMedia();
diff --git a/tests/Integration/MediaUploaderTest.php b/tests/Integration/MediaUploaderTest.php
index ec98b738..7b5a3989 100644
--- a/tests/Integration/MediaUploaderTest.php
+++ b/tests/Integration/MediaUploaderTest.php
@@ -23,17 +23,17 @@
class MediaUploaderTest extends TestCase
{
- public function test_it_can_be_instantiated_via_the_container()
+ public function test_it_can_be_instantiated_via_the_container(): void
{
$this->assertInstanceOf(MediaUploader::class, app('mediable.uploader'));
}
- public function test_it_can_be_instantiated_via_facade()
+ public function test_it_can_be_instantiated_via_facade(): void
{
$this->assertInstanceOf(MediaUploader::class, Facade::getFacadeRoot());
}
- public function test_facade_instantiates_unique_instances()
+ public function test_facade_instantiates_unique_instances(): void
{
/** @var MediaUploader $uploader1 */
$uploader1 = Facade::getFacadeRoot();
@@ -51,13 +51,13 @@ public function test_facade_instantiates_unique_instances()
);
}
- public function test_facade_is_mockable()
+ public function test_facade_is_mockable(): void
{
Facade::shouldReceive('upload')->once();
Facade::upload();
}
- public function test_it_can_set_on_duplicate_behavior_via_facade()
+ public function test_it_can_set_on_duplicate_behavior_via_facade(): void
{
$uploader = Facade::onDuplicateError();
$this->assertEquals(
@@ -90,7 +90,7 @@ public function test_it_can_set_on_duplicate_behavior_via_facade()
);
}
- public function test_it_sets_options()
+ public function test_it_sets_options(): void
{
$uploader = $this->getUploader();
$this->assertEquals(
@@ -111,7 +111,7 @@ public function test_it_sets_options()
);
}
- public function test_it_can_determine_media_type_by_extension_and_mime()
+ public function test_it_can_determine_media_type_by_extension_and_mime(): void
{
$uploader = $this->getUploader();
$uploader->setTypeDefinition('foo', ['text/foo'], ['foo']);
@@ -137,7 +137,7 @@ public function test_it_can_determine_media_type_by_extension_and_mime()
);
}
- public function test_it_throws_exception_for_type_mismatch()
+ public function test_it_throws_exception_for_type_mismatch(): void
{
$uploader = $this->getUploader();
$uploader->setTypeDefinition('foo', ['text/foo'], ['foo']);
@@ -147,7 +147,7 @@ public function test_it_throws_exception_for_type_mismatch()
$uploader->inferAggregateType('text/foo', 'bar');
}
- public function test_it_validates_allowed_types()
+ public function test_it_validates_allowed_types(): void
{
$uploader = $this->getUploader();
$uploader->setTypeDefinition('foo', ['text/foo'], ['foo']);
@@ -170,7 +170,7 @@ public function test_it_validates_allowed_types()
$uploader->inferAggregateType('text/foo', 'bar');
}
- public function test_it_infers_type_case_insensitive()
+ public function test_it_infers_type_case_insensitive(): void
{
$uploader = $this->getUploader();
$uploader->setTypeDefinition('foo', ['TeXT/foo'], ['FOo']);
@@ -181,7 +181,7 @@ public function test_it_infers_type_case_insensitive()
);
}
- public function test_it_can_restrict_to_known_types()
+ public function test_it_can_restrict_to_known_types(): void
{
$uploader = $this->getUploader();
@@ -195,14 +195,14 @@ public function test_it_can_restrict_to_known_types()
$uploader->inferAggregateType('text/foo', 'bar');
}
- public function test_it_throws_exception_for_non_existent_disk()
+ public function test_it_throws_exception_for_non_existent_disk(): void
{
$uploader = $this->getUploader();
$this->expectException(ConfigurationException::class);
$uploader->toDisk('abc');
}
- public function test_it_throws_exception_for_disallowed_disk()
+ public function test_it_throws_exception_for_disallowed_disk(): void
{
$uploader = $this->getUploader();
config()->set('filesystems.disks.foo', []);
@@ -210,7 +210,7 @@ public function test_it_throws_exception_for_disallowed_disk()
$uploader->toDisk('foo');
}
- public function test_it_can_change_model_class()
+ public function test_it_can_change_model_class(): void
{
$uploader = $this->getUploader();
$method = $this->getPrivateMethod($uploader, 'makeModel');
@@ -218,14 +218,14 @@ public function test_it_can_change_model_class()
$this->assertInstanceOf(MediaSubclass::class, $method->invoke($uploader));
}
- public function test_it_throw_exception_for_invalid_model()
+ public function test_it_throw_exception_for_invalid_model(): void
{
$uploader = $this->getUploader();
$this->expectException(ConfigurationException::class);
$uploader->setModelClass(stdClass::class);
}
- public function test_it_validates_source_is_set()
+ public function test_it_validates_source_is_set(): void
{
$uploader = $this->getUploader();
$method = $this->getPrivateMethod($uploader, 'verifySource');
@@ -234,7 +234,7 @@ public function test_it_validates_source_is_set()
$method->invoke($uploader);
}
- public function test_it_validates_allowed_mime_types()
+ public function test_it_validates_allowed_mime_types(): void
{
$uploader = $this->getUploader();
$method = $this->getPrivateMethod($uploader, 'verifyMimeType');
@@ -256,7 +256,7 @@ public function test_it_validates_allowed_mime_types()
$method->invoke($uploader, 'text/foo');
}
- public function test_it_validates_allowed_extensions()
+ public function test_it_validates_allowed_extensions(): void
{
$uploader = $this->getUploader();
$method = $this->getPrivateMethod($uploader, 'verifyExtension');
@@ -270,7 +270,7 @@ public function test_it_validates_allowed_extensions()
$method->invoke($uploader, 'foo');
}
- public function test_it_validates_file_size()
+ public function test_it_validates_file_size(): void
{
$uploader = $this->getUploader();
$uploader->setMaximumSize(2);
@@ -281,7 +281,7 @@ public function test_it_validates_file_size()
$method->invoke($uploader, 3);
}
- public function test_it_can_disable_file_size_limits()
+ public function test_it_can_disable_file_size_limits(): void
{
$uploader = $this->getUploader();
$uploader->setMaximumSize(0);
@@ -289,7 +289,7 @@ public function test_it_can_disable_file_size_limits()
$this->assertEquals(99999, $method->invoke($uploader, 99999));
}
- public function test_it_can_error_on_duplicate_files()
+ public function test_it_can_error_on_duplicate_files(): void
{
$uploader = $this->getUploader();
$uploader->setOnDuplicateBehavior(MediaUploader::ON_DUPLICATE_ERROR);
@@ -298,7 +298,7 @@ public function test_it_can_error_on_duplicate_files()
$method->invoke($uploader, new Media);
}
- public function test_it_sets_file_visibility()
+ public function test_it_sets_file_visibility(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -327,7 +327,7 @@ public function test_it_sets_file_visibility()
$this->assertTrue($media1->isVisible());
}
- public function test_it_can_replace_duplicate_files()
+ public function test_it_can_replace_duplicate_files(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -364,7 +364,7 @@ public function test_it_can_replace_duplicate_files()
$this->assertTrue(file_exists($variant->getAbsolutePath()));
}
- public function test_it_can_replace_duplicate_files_and_variants()
+ public function test_it_can_replace_duplicate_files_and_variants(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -399,7 +399,7 @@ public function test_it_can_replace_duplicate_files_and_variants()
$this->assertFalse(file_exists($variant->getAbsolutePath()));
}
- public function test_it_can_update_duplicate_files()
+ public function test_it_can_update_duplicate_files(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -431,7 +431,7 @@ public function test_it_can_update_duplicate_files()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_can_update_duplicate_files_when_model_not_found()
+ public function test_it_can_update_duplicate_files_when_model_not_found(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -458,7 +458,7 @@ public function test_it_can_update_duplicate_files_when_model_not_found()
);
}
- public function test_it_can_increment_filename_on_duplicate_files()
+ public function test_it_can_increment_filename_on_duplicate_files(): void
{
$uploader = $this->getUploader()->onDuplicateIncrement();
$method = $this->getPrivateMethod($uploader, 'handleDuplicate');
@@ -478,7 +478,7 @@ public function test_it_can_increment_filename_on_duplicate_files()
$this->assertEquals('duplicate-1', $media->filename);
}
- public function test_it_uploads_files()
+ public function test_it_uploads_files(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -497,7 +497,7 @@ public function test_it_uploads_files()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_string_contents()
+ public function test_it_imports_string_contents(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -518,7 +518,7 @@ public function test_it_imports_string_contents()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_file_stream_contents()
+ public function test_it_imports_file_stream_contents(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -539,7 +539,7 @@ public function test_it_imports_file_stream_contents()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_http_stream_contents()
+ public function test_it_imports_http_stream_contents(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -560,7 +560,7 @@ public function test_it_imports_http_stream_contents()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_stream_objects()
+ public function test_it_imports_stream_objects(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -581,7 +581,7 @@ public function test_it_imports_stream_objects()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_existing_files()
+ public function test_it_imports_existing_files(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -606,7 +606,7 @@ public function test_it_imports_existing_files()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_imports_existing_files_with_uppercase()
+ public function test_it_imports_existing_files_with_uppercase(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -631,7 +631,7 @@ public function test_it_imports_existing_files_with_uppercase()
$this->assertEquals('image', $media->aggregate_type);
}
- public function test_it_updates_existing_media()
+ public function test_it_updates_existing_media(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -655,7 +655,7 @@ public function test_it_updates_existing_media()
$this->assertEquals(self::TEST_FILE_SIZE, $media->size);
}
- public function test_it_replaces_existing_media()
+ public function test_it_replaces_existing_media(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -676,13 +676,13 @@ public function test_it_replaces_existing_media()
$this->assertEquals(4181, $media->size);
}
- public function test_it_throws_exception_when_importing_missing_file()
+ public function test_it_throws_exception_when_importing_missing_file(): void
{
$this->expectException(FileNotFoundException::class);
Facade::import('tmp', 'non', 'existing', 'jpg');
}
- public function test_it_use_hash_for_filename()
+ public function test_it_use_hash_for_filename(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -695,7 +695,7 @@ public function test_it_use_hash_for_filename()
$this->assertEquals('3ef5e70366086147c2695325d79a25cc', $media->filename);
}
- public function test_it_use_arbitrary_hash_algo_for_filename()
+ public function test_it_use_arbitrary_hash_algo_for_filename(): void
{
$this->useFilesystem('tmp');
$this->useDatabase();
@@ -708,7 +708,7 @@ public function test_it_use_arbitrary_hash_algo_for_filename()
$this->assertEquals('5e96e1fa58067853219c4cb6d3c1ce01cc5cc8ce', $media->filename);
}
- public function test_it_uploads_files_with_altered_model()
+ public function test_it_uploads_files_with_altered_model(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -733,7 +733,7 @@ function ($model) {
$this->assertEquals(9876, $media->id);
}
- public function test_it_uploads_files_with_altered_destination()
+ public function test_it_uploads_files_with_altered_destination(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -774,7 +774,7 @@ function (Media $model) {
);
}
- public function test_it_applies_alt()
+ public function test_it_applies_alt(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -788,7 +788,7 @@ public function test_it_applies_alt()
$this->assertEquals('This is an alt text', $media->alt);
}
- public function test_it_applies_alt_to_existing_media()
+ public function test_it_applies_alt_to_existing_media(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -814,7 +814,7 @@ public function test_it_applies_alt_to_existing_media()
$this->assertEquals('This is an alt text', $result->alt);
}
- public function test_it_manipulates_images()
+ public function test_it_manipulates_images(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -848,7 +848,7 @@ function (Image $image) {
);
}
- public function test_it_ignores_manipulations_for_non_images()
+ public function test_it_ignores_manipulations_for_non_images(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -873,7 +873,7 @@ public function test_it_ignores_manipulations_for_non_images()
$this->assertEquals(3, $media->size);
}
- public function test_it_validates_hashes()
+ public function test_it_validates_hashes(): void
{
$this->useDatabase();
$this->useFilesystem('tmp');
@@ -889,7 +889,7 @@ public function test_it_validates_hashes()
$this->assertTrue($media->fileExists());
}
- public function test_it_validates_md5_hash_failure()
+ public function test_it_validates_md5_hash_failure(): void
{
$this->expectException(InvalidHashException::class);
diff --git a/tests/Integration/MediableCollectionTest.php b/tests/Integration/MediableCollectionTest.php
index 892aa4d2..5daafdfd 100644
--- a/tests/Integration/MediableCollectionTest.php
+++ b/tests/Integration/MediableCollectionTest.php
@@ -16,7 +16,7 @@ public function setUp(): void
$this->useDatabase();
}
- public function test_it_can_lazy_eager_load_media()
+ public function test_it_can_lazy_eager_load_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -29,7 +29,7 @@ public function test_it_can_lazy_eager_load_media()
$this->assertFalse($collection[0]->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_by_tag()
+ public function test_it_can_lazy_eager_load_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -47,7 +47,7 @@ public function test_it_can_lazy_eager_load_media_by_tag()
$this->assertFalse($collection[0]->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_by_tag_match_all()
+ public function test_it_can_lazy_eager_load_media_by_tag_match_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -70,7 +70,7 @@ public function test_it_can_lazy_eager_load_media_by_tag_match_all()
$this->assertFalse($collection[0]->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_variants()
+ public function test_it_can_lazy_eager_load_media_with_variants(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -89,7 +89,7 @@ public function test_it_can_lazy_eager_load_media_with_variants()
$this->assertTrue($collection[0]->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_variants_by_tag()
+ public function test_it_can_lazy_eager_load_media_with_variants_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -111,7 +111,7 @@ public function test_it_can_lazy_eager_load_media_with_variants_by_tag()
$this->assertTrue($collection[0]->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_relations_by_tag_match_all()
+ public function test_it_can_lazy_eager_load_media_with_relations_by_tag_match_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -148,7 +148,7 @@ public function test_it_can_lazy_eager_load_media_with_relations_by_tag_match_al
$this->assertTrue($collection[0]->media[0]->relationLoaded('variants'));
}
- public function testDelete()
+ public function testDelete(): void
{
$mediable1 = factory(SampleMediable::class)->create(['id' => 1]);
$mediable2 = factory(SampleMediable::class)->create(['id' => 2]);
diff --git a/tests/Integration/MediableTest.php b/tests/Integration/MediableTest.php
index ea2f028f..68d67f6f 100644
--- a/tests/Integration/MediableTest.php
+++ b/tests/Integration/MediableTest.php
@@ -17,7 +17,7 @@ public function setUp(): void
$this->useDatabase();
}
- public function test_it_can_attach_and_retrieve_media_by_a_tag()
+ public function test_it_can_attach_and_retrieve_media_by_a_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 2]);
@@ -29,7 +29,7 @@ public function test_it_can_attach_and_retrieve_media_by_a_tag()
$this->assertEquals([2], $result->pluck('id')->toArray());
}
- public function test_it_can_attach_to_numeric_tags()
+ public function test_it_can_attach_to_numeric_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 2]);
@@ -41,7 +41,7 @@ public function test_it_can_attach_to_numeric_tags()
$this->assertEquals([2], $result->pluck('id')->toArray());
}
- public function test_it_can_attach_one_media_to_multiple_tags()
+ public function test_it_can_attach_one_media_to_multiple_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 2]);
@@ -58,7 +58,7 @@ public function test_it_can_attach_one_media_to_multiple_tags()
);
}
- public function test_it_can_attach_multiple_media_to_multiple_tags_simultaneously()
+ public function test_it_can_attach_multiple_media_to_multiple_tags_simultaneously(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create();
@@ -70,7 +70,7 @@ public function test_it_can_attach_multiple_media_to_multiple_tags_simultaneousl
$this->assertCount(2, $mediable->getMedia('bar'));
}
- public function test_it_can_find_the_first_media()
+ public function test_it_can_find_the_first_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -82,7 +82,7 @@ public function test_it_can_find_the_first_media()
$this->assertEquals(1, $mediable->firstMedia('foo')->id);
}
- public function test_it_can_find_the_last_media()
+ public function test_it_can_find_the_last_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -94,7 +94,7 @@ public function test_it_can_find_the_last_media()
$this->assertEquals(2, $mediable->lastMedia('foo')->id);
}
- public function test_it_can_find_media_matching_any_tags()
+ public function test_it_can_find_media_matching_any_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -114,7 +114,7 @@ public function test_it_can_find_media_matching_any_tags()
);
}
- public function test_it_can_find_media_matching_multiple_tags()
+ public function test_it_can_find_media_matching_multiple_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -135,7 +135,7 @@ public function test_it_can_find_media_matching_multiple_tags()
$this->assertEquals(0, $mediable->getMedia(['foo', 'bat'], true)->count());
}
- public function test_it_can_check_presence_of_attached_media()
+ public function test_it_can_check_presence_of_attached_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -158,7 +158,7 @@ public function test_it_can_check_presence_of_attached_media()
);
}
- public function test_it_can_list_media_by_tag()
+ public function test_it_can_list_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -173,7 +173,7 @@ public function test_it_can_list_media_by_tag()
$this->assertEquals([2], $result['bar']->pluck('id')->toArray());
}
- public function test_it_can_detach_media_by_tag()
+ public function test_it_can_detach_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -183,7 +183,7 @@ public function test_it_can_detach_media_by_tag()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_can_detach_media_of_multiple_tags()
+ public function test_it_can_detach_media_of_multiple_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create(['id' => 1]);
@@ -196,7 +196,7 @@ public function test_it_can_detach_media_of_multiple_tags()
$this->assertEquals(0, $mediable->getMedia('bar')->count());
}
- public function test_it_can_sync_media_by_tag()
+ public function test_it_can_sync_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 2]);
@@ -214,7 +214,7 @@ public function test_it_can_sync_media_by_tag()
);
}
- public function test_it_can_sync_media_to_multiple_tags()
+ public function test_it_can_sync_media_to_multiple_tags(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -231,7 +231,7 @@ public function test_it_can_sync_media_to_multiple_tags()
$this->assertEquals([2, 3], $mediable->getMedia('baz')->pluck('id')->toArray());
}
- public function test_it_can_be_queried_by_any_media()
+ public function test_it_can_be_queried_by_any_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$mediable2 = factory(SampleMediable::class)->create();
@@ -242,7 +242,7 @@ public function test_it_can_be_queried_by_any_media()
$this->assertEquals([$mediable->getKey()], $result->modelKeys());
}
- public function test_it_can_be_queried_by_tag()
+ public function test_it_can_be_queried_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -256,7 +256,7 @@ public function test_it_can_be_queried_by_tag()
);
}
- public function test_it_can_be_queried_by_tag_matching_all()
+ public function test_it_can_be_queried_by_tag_matching_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -279,7 +279,7 @@ public function test_it_can_be_queried_by_tag_matching_all()
);
}
- public function test_it_can_list_the_tags_a_media_is_attached_to()
+ public function test_it_can_list_the_tags_a_media_is_attached_to(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -291,7 +291,7 @@ public function test_it_can_list_the_tags_a_media_is_attached_to()
$this->assertContains('bar', $mediable->getTagsForMedia($media));
}
- public function test_it_can_disable_automatic_rehydration()
+ public function test_it_can_disable_automatic_rehydration(): void
{
$mediable = factory(SampleMediable::class)->create();
$mediable->rehydrates_media = false;
@@ -302,7 +302,7 @@ public function test_it_can_disable_automatic_rehydration()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_can_eager_load_media()
+ public function test_it_can_eager_load_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -314,7 +314,7 @@ public function test_it_can_eager_load_media()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_eager_load_media_by_tag()
+ public function test_it_can_eager_load_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -330,7 +330,7 @@ public function test_it_can_eager_load_media_by_tag()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_eager_load_media_by_tag_matching_all()
+ public function test_it_can_eager_load_media_by_tag_matching_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -351,7 +351,7 @@ public function test_it_can_eager_load_media_by_tag_matching_all()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_eager_load_media_with_variants()
+ public function test_it_can_eager_load_media_with_variants(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -368,7 +368,7 @@ public function test_it_can_eager_load_media_with_variants()
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_eager_load_media_with_variants_by_tag()
+ public function test_it_can_eager_load_media_with_variants_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -389,7 +389,7 @@ public function test_it_can_eager_load_media_with_variants_by_tag()
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_eager_load_media_with_variants_by_tag_matching_all()
+ public function test_it_can_eager_load_media_with_variants_by_tag_matching_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -422,7 +422,7 @@ public function test_it_can_eager_load_media_with_variants_by_tag_matching_all()
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media()
+ public function test_it_can_lazy_eager_load_media(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -435,7 +435,7 @@ public function test_it_can_lazy_eager_load_media()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_by_tag()
+ public function test_it_can_lazy_eager_load_media_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -451,7 +451,7 @@ public function test_it_can_lazy_eager_load_media_by_tag()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_by_tag_matching_all()
+ public function test_it_can_lazy_eager_load_media_by_tag_matching_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -474,7 +474,7 @@ public function test_it_can_lazy_eager_load_media_by_tag_matching_all()
$this->assertFalse($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_variants()
+ public function test_it_can_lazy_eager_load_media_with_variants(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -493,7 +493,7 @@ public function test_it_can_lazy_eager_load_media_with_variants()
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_variants_by_tag()
+ public function test_it_can_lazy_eager_load_media_with_variants_by_tag(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -516,7 +516,7 @@ public function test_it_can_lazy_eager_load_media_with_variants_by_tag()
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_can_lazy_eager_load_media_with_variants_by_tag_matching_all()
+ public function test_it_can_lazy_eager_load_media_with_variants_by_tag_matching_all(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -553,13 +553,13 @@ public function test_it_can_lazy_eager_load_media_with_variants_by_tag_matching_
$this->assertTrue($result->media[0]->relationLoaded('variants'));
}
- public function test_it_uses_custom_collection()
+ public function test_it_uses_custom_collection(): void
{
$mediable = factory(SampleMediable::class)->make();
$this->assertInstanceOf(MediableCollection::class, $mediable->newCollection([]));
}
- public function test_it_cascades_relationship_on_delete()
+ public function test_it_cascades_relationship_on_delete(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create();
@@ -569,7 +569,7 @@ public function test_it_cascades_relationship_on_delete()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_doesnt_cascade_relationship_on_soft_delete()
+ public function test_it_doesnt_cascade_relationship_on_soft_delete(): void
{
$mediable = factory(SampleMediableSoftDelete::class)->create();
$media = factory(Media::class)->create();
@@ -579,7 +579,7 @@ public function test_it_doesnt_cascade_relationship_on_soft_delete()
$this->assertEquals(1, $mediable->getMedia('foo')->count());
}
- public function test_it_cascades_relationships_on_soft_delete_with_config()
+ public function test_it_cascades_relationships_on_soft_delete_with_config(): void
{
$mediable = factory(SampleMediableSoftDelete::class)->create();
$media = factory(Media::class)->create();
@@ -591,7 +591,7 @@ public function test_it_cascades_relationships_on_soft_delete_with_config()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_cascades_relationship_on_force_delete()
+ public function test_it_cascades_relationship_on_force_delete(): void
{
$mediable = factory(SampleMediableSoftDelete::class)->create();
$media = factory(Media::class)->create();
@@ -601,7 +601,7 @@ public function test_it_cascades_relationship_on_force_delete()
$this->assertEquals(0, $mediable->getMedia('foo')->count());
}
- public function test_it_reads_highest_order()
+ public function test_it_reads_highest_order(): void
{
$mediable = factory(SampleMediable::class)->create();
$media = factory(Media::class)->create(['id' => 1]);
@@ -612,7 +612,7 @@ public function test_it_reads_highest_order()
$this->assertEquals(['foo' => 1], $method->invoke($mediable, 'foo'));
}
- public function test_it_increments_order()
+ public function test_it_increments_order(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -637,7 +637,7 @@ public function test_it_increments_order()
);
}
- public function test_it_increments_order_when_attaching_multiple()
+ public function test_it_increments_order_when_attaching_multiple(): void
{
$mediable = factory(SampleMediable::class)->create();
$media1 = factory(Media::class)->create(['id' => 1]);
@@ -652,7 +652,7 @@ public function test_it_increments_order_when_attaching_multiple()
);
}
- public function test_it_can_unset_order()
+ public function test_it_can_unset_order(): void
{
$mediable = factory(SampleMediable::class)->make();
@@ -661,7 +661,7 @@ public function test_it_can_unset_order()
$this->assertEquals(0, preg_match('/order by `order`/i', $query));
}
- public function test_it_can_create_mediables_on_custom_table()
+ public function test_it_can_create_mediables_on_custom_table(): void
{
config()->set('mediable.mediables_table', 'prefixed_mediables');
diff --git a/tests/Integration/SourceAdapters/SourceAdapterFactoryTest.php b/tests/Integration/SourceAdapters/SourceAdapterFactoryTest.php
index 722f8f09..faa934fe 100644
--- a/tests/Integration/SourceAdapters/SourceAdapterFactoryTest.php
+++ b/tests/Integration/SourceAdapters/SourceAdapterFactoryTest.php
@@ -10,7 +10,7 @@
class SourceAdapterFactoryTest extends TestCase
{
- public function test_it_allows_setting_adapter_for_class()
+ public function test_it_allows_setting_adapter_for_class(): void
{
$factory = new SourceAdapterFactory;
$source = $this->createMock(stdClass::class);
@@ -21,7 +21,7 @@ public function test_it_allows_setting_adapter_for_class()
$this->assertInstanceOf($adapterClass, $factory->create($source));
}
- public function test_it_allows_setting_adapter_for_pattern()
+ public function test_it_allows_setting_adapter_for_pattern(): void
{
$factory = new SourceAdapterFactory;
$adapterClass = get_class($this->createMock(SourceAdapterInterface::class));
@@ -30,35 +30,35 @@ public function test_it_allows_setting_adapter_for_pattern()
$this->assertInstanceOf($adapterClass, $factory->create('b1'));
}
- public function test_it_throws_exception_if_invalid_adapter_for_class()
+ public function test_it_throws_exception_if_invalid_adapter_for_class(): void
{
$factory = new SourceAdapterFactory;
$this->expectException(ConfigurationException::class);
$factory->setAdapterForClass(stdClass::class, stdClass::class);
}
- public function test_it_throws_exception_if_invalid_adapter_for_pattern()
+ public function test_it_throws_exception_if_invalid_adapter_for_pattern(): void
{
$factory = new SourceAdapterFactory;
$this->expectException(ConfigurationException::class);
$factory->setAdapterForPattern(stdClass::class, 'foo');
}
- public function test_it_throws_exception_if_no_match_for_class()
+ public function test_it_throws_exception_if_no_match_for_class(): void
{
$factory = new SourceAdapterFactory;
$this->expectException(ConfigurationException::class);
$factory->create(new stdClass);
}
- public function test_it_throws_exception_if_no_match_for_pattern()
+ public function test_it_throws_exception_if_no_match_for_pattern(): void
{
$factory = new SourceAdapterFactory;
$this->expectException(ConfigurationException::class);
$factory->create('foo');
}
- public function test_it_returns_adapters_unmodified()
+ public function test_it_returns_adapters_unmodified(): void
{
$factory = new SourceAdapterFactory;
$adapter = $this->createMock(SourceAdapterInterface::class);
@@ -66,7 +66,7 @@ public function test_it_returns_adapters_unmodified()
$this->assertEquals($adapter, $factory->create($adapter));
}
- public function test_it_is_accessible_via_the_container()
+ public function test_it_is_accessible_via_the_container(): void
{
$this->assertInstanceOf(
SourceAdapterFactory::class,
diff --git a/tests/Integration/SourceAdapters/SourceAdapterTest.php b/tests/Integration/SourceAdapters/SourceAdapterTest.php
index 63627c7f..a1a676ab 100644
--- a/tests/Integration/SourceAdapters/SourceAdapterTest.php
+++ b/tests/Integration/SourceAdapters/SourceAdapterTest.php
@@ -38,7 +38,7 @@ protected function getEnvironmentSetUp($app)
$app['filesystem']->disk('uploads')->put('plank.png', $this->sampleFile());
}
- public static function adapterProvider()
+ public static function adapterProvider(): array
{
$file = TestCase::sampleFilePath();
$string = file_get_contents($file);
@@ -227,7 +227,7 @@ public static function adapterProvider()
return $data;
}
- public static function invalidAdapterProvider()
+ public static function invalidAdapterProvider(): array
{
$file = __DIR__ . '/../../_data/invalid.png';
$url = 'https://raw.githubusercontent.com/plank/laravel-mediable/master/tests/_data/invalid.png';
diff --git a/tests/Integration/UrlGenerators/LocalUrlGeneratorTest.php b/tests/Integration/UrlGenerators/LocalUrlGeneratorTest.php
index 300dca6a..83ff1518 100644
--- a/tests/Integration/UrlGenerators/LocalUrlGeneratorTest.php
+++ b/tests/Integration/UrlGenerators/LocalUrlGeneratorTest.php
@@ -10,7 +10,7 @@
class LocalUrlGeneratorTest extends TestCase
{
- public function test_it_generates_absolute_path()
+ public function test_it_generates_absolute_path(): void
{
$generator = $this->setupGenerator();
$this->assertEquals(
@@ -19,25 +19,25 @@ public function test_it_generates_absolute_path()
);
}
- public function test_it_generates_url()
+ public function test_it_generates_url(): void
{
$generator = $this->setupGenerator();
$this->assertEquals('http://localhost/uploads/foo/bar.jpg', $generator->getUrl());
}
- public function test_it_attempts_to_generate_url_for_non_public_disk()
+ public function test_it_attempts_to_generate_url_for_non_public_disk(): void
{
$generator = $this->setupGenerator('tmp');
$this->assertEquals('/storage/foo/bar.jpg', $generator->getUrl());
}
- public function test_it_accepts_public_visibility()
+ public function test_it_accepts_public_visibility(): void
{
$generator = $this->setupGenerator('public_storage');
$this->assertEquals('http://localhost/storage/foo/bar.jpg', $generator->getUrl());
}
- public static function public_visibility_provider()
+ public static function public_visibility_provider(): array
{
return [
['uploads', true, true],
@@ -56,12 +56,12 @@ public function test_it_checks_public_visibility(
string $disk,
bool $public,
bool $expectedAccessibility
- ) {
+ ): void {
$generator = $this->setupGenerator($disk, $public);
$this->assertSame($expectedAccessibility, $generator->isPubliclyAccessible());
}
- public function test_it_checks_public_visibility_mock_disk()
+ public function test_it_checks_public_visibility_mock_disk(): void
{
$filesystem = $this->createConfiguredMock(
FilesystemManager::class,
diff --git a/tests/Integration/UrlGenerators/S3UrlGeneratorTest.php b/tests/Integration/UrlGenerators/S3UrlGeneratorTest.php
index 02c1d8bf..f6e5110e 100644
--- a/tests/Integration/UrlGenerators/S3UrlGeneratorTest.php
+++ b/tests/Integration/UrlGenerators/S3UrlGeneratorTest.php
@@ -29,7 +29,7 @@ public function tearDown(): void
parent::tearDown();
}
- public function test_it_generates_absolute_path()
+ public function test_it_generates_absolute_path(): void
{
$generator = $this->setupGenerator();
$this->assertEquals(
@@ -43,7 +43,7 @@ public function test_it_generates_absolute_path()
);
}
- public function test_it_generates_url()
+ public function test_it_generates_url(): void
{
$generator = $this->setupGenerator();
$this->assertEquals(
@@ -57,7 +57,7 @@ public function test_it_generates_url()
);
}
- public function test_it_generates_temporary_url()
+ public function test_it_generates_temporary_url(): void
{
$generator = $this->setupGenerator();
$url = $generator->getTemporaryUrl(Carbon::now()->addDay());
@@ -90,7 +90,7 @@ public function test_it_generates_temporary_url()
);
}
- protected function setupGenerator()
+ protected function setupGenerator(): S3UrlGenerator
{
$media = $this->getMedia();
$this->useFilesystem('s3');
diff --git a/tests/Integration/UrlGenerators/UrlGeneratorFactoryTest.php b/tests/Integration/UrlGenerators/UrlGeneratorFactoryTest.php
index db35f6b1..a1dfd39b 100644
--- a/tests/Integration/UrlGenerators/UrlGeneratorFactoryTest.php
+++ b/tests/Integration/UrlGenerators/UrlGeneratorFactoryTest.php
@@ -13,7 +13,7 @@
class UrlGeneratorFactoryTest extends TestCase
{
- public function test_it_sets_generator_for_driver()
+ public function test_it_sets_generator_for_driver(): void
{
$factory = new UrlGeneratorFactory;
$generator = $this->createMock(UrlGeneratorInterface::class);
@@ -26,7 +26,7 @@ public function test_it_sets_generator_for_driver()
$this->assertInstanceOf($class, $result);
}
- public function test_it_throws_exception_for_invalid_generator()
+ public function test_it_throws_exception_for_invalid_generator(): void
{
$factory = new UrlGeneratorFactory;
$class = get_class($this->createMock(stdClass::class));
@@ -34,7 +34,7 @@ public function test_it_throws_exception_for_invalid_generator()
$factory->setGeneratorForFilesystemDriver($class, 'foo');
}
- public function test_it_throws_exception_if_cant_map_to_driver()
+ public function test_it_throws_exception_if_cant_map_to_driver(): void
{
$factory = new UrlGeneratorFactory;
$media = factory(Media::class)->make();
@@ -42,7 +42,7 @@ public function test_it_throws_exception_if_cant_map_to_driver()
$factory->create($media);
}
- public function test_it_follows_scoped_prefix()
+ public function test_it_follows_scoped_prefix(): void
{
if (version_compare($this->app->version(), '9.30.0', '<')) {
$this->markTestSkipped("scoped disk prefixes are only supported in laravel 9.30.0+");
diff --git a/tests/Mocks/SampleExceptionHandler.php b/tests/Mocks/SampleExceptionHandler.php
index e4317684..507a532a 100644
--- a/tests/Mocks/SampleExceptionHandler.php
+++ b/tests/Mocks/SampleExceptionHandler.php
@@ -16,9 +16,9 @@ class SampleExceptionHandler
* we would pass it to the parent::render().
*
* @param \Exception $e
- * @return \Symfony\Component\HttpKernel\Exception\HttpException|\Exception
+ * @return \Symfony\Component\HttpKernel\Exception\HttpException|\Throwable
*/
- public function render(\Exception $e)
+ public function render(\Throwable $e): \Throwable
{
return $this->transformMediaUploadException($e);
}
diff --git a/tests/TestCase.php b/tests/TestCase.php
index 4af6ccc9..b72e2336 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -4,10 +4,12 @@
use Dotenv\Dotenv;
use Faker\Factory;
+use GuzzleHttp\Psr7\Utils;
use Illuminate\Filesystem\Filesystem;
use Intervention\Image\Drivers\Gd\Driver;
use Intervention\Image\ImageManager;
use Orchestra\Testbench\TestCase as BaseTestCase;
+use PHPUnit\Framework\MockObject\MockObject;
use Plank\Mediable\Media;
use Plank\Mediable\MediableServiceProvider;
use Plank\Mediable\Tests\Mocks\MockCallable;
@@ -108,7 +110,7 @@ protected function getEnvironmentSetUp($app)
}
}
- protected function getPrivateProperty($class, $property_name)
+ protected function getPrivateProperty($class, $property_name): \ReflectionProperty
{
$reflector = new ReflectionClass($class);
$property = $reflector->getProperty($property_name);
@@ -116,7 +118,7 @@ protected function getPrivateProperty($class, $property_name)
return $property;
}
- protected function getPrivateMethod($class, $method_name)
+ protected function getPrivateMethod($class, $method_name): \ReflectionMethod
{
$reflector = new ReflectionClass($class);
$method = $reflector->getMethod($method_name);
@@ -124,7 +126,7 @@ protected function getPrivateMethod($class, $method_name)
return $method;
}
- protected function seedFileForMedia(Media $media, $contents = '')
+ protected function seedFileForMedia(Media $media, $contents = ''): void
{
app('filesystem')->disk($media->disk)->put(
$media->getDiskPath(),
@@ -133,12 +135,12 @@ protected function seedFileForMedia(Media $media, $contents = '')
);
}
- protected function s3ConfigLoaded()
+ protected function s3ConfigLoaded(): bool
{
return env('S3_KEY') && env('S3_SECRET') && env('S3_REGION') && env('S3_BUCKET');
}
- protected function useDatabase()
+ protected function useDatabase(): void
{
$this->app->useDatabasePath(dirname(__DIR__));
$this->loadMigrationsFrom(
@@ -151,7 +153,7 @@ protected function useDatabase()
);
}
- protected function useFilesystem($disk)
+ protected function useFilesystem($disk): void
{
if (!$this->app['config']->has('filesystems.disks.' . $disk)) {
return;
@@ -161,7 +163,7 @@ protected function useFilesystem($disk)
$filesystem->cleanDirectory($root);
}
- protected function useFilesystems()
+ protected function useFilesystems(): void
{
$disks = $this->app['config']->get('filesystems.disks');
foreach ($disks as $disk) {
@@ -169,24 +171,24 @@ protected function useFilesystems()
}
}
- protected static function sampleFilePath()
+ protected static function sampleFilePath(): string
{
return realpath(__DIR__ . '/_data/plank.png');
}
- protected static function alternateFilePath()
+ protected static function alternateFilePath(): string
{
return realpath(__DIR__ . '/_data/plank2.png');
}
- protected static function remoteFilePath()
+ protected static function remoteFilePath(): string
{
return 'https://raw.githubusercontent.com/plank/laravel-mediable/master/tests/_data/plank.png';
}
protected function sampleFile()
{
- return fopen(TestCase::sampleFilePath(), 'r');
+ return Utils::tryFopen(TestCase::sampleFilePath(), 'r');
}
protected function makeMedia(array $attributes = []): Media
@@ -199,7 +201,10 @@ protected function createMedia(array $attributes = []): Media
return factory(Media::class)->create($attributes);
}
- protected function getMockCallable()
+ /**
+ * @return callable&MockObject
+ */
+ protected function getMockCallable(): callable
{
return $this->createPartialMock(MockCallable::class, ['__invoke']);
}
@@ -210,7 +215,7 @@ protected function getMockCallable()
*
* @return \Generator>
*/
- public static function withConsecutive(array $firstCallArguments, array ...$consecutiveCallsArguments): iterable
+ public static function withConsecutive(array $firstCallArguments, array ...$consecutiveCallsArguments): \Generator
{
foreach ($consecutiveCallsArguments as $consecutiveCallArguments) {
self::assertSameSize($firstCallArguments, $consecutiveCallArguments, 'Each expected arguments list need to have the same size.');