From dcc95b8299fc3137d2ecd24ae128978321fa2b7d Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Wed, 28 Feb 2024 16:16:23 +0100 Subject: [PATCH] PHPUnit 10 Migration (#1302) * Bump PHPUnit dependencies * Set return type of base TestCase methods From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type: - `setUpBeforeClass()` - `setUp()` - `assertPreConditions()` - `assertPostConditions()` - `tearDown()` - `tearDownAfterClass()` - `onNotSuccessfulTest()` [1]: https://phpunit.de/announcements/phpunit-8.html * Ignore PHPUnit cache folder * Adopt PHP attributes in test classes * Declare data providers as `static` * Add return types to test methods * Define test classes as `final` * Migrate phpunit.xml to phpunit 10 * Correct phpunit attribute class name * Rename base test class * Restructure test folders * Fix test image paths * Only set rules for php files in .editorconfig * Remove php unit flag in local test env --------- Co-authored-by: Shift --- .editorconfig | 6 +- .gitignore | 2 +- composer.json | 96 +++++++++---------- docker-compose.yml | 2 +- phpunit.xml | 24 ----- phpunit.xml.dist | 32 +++---- tests/{TestCase.php => BaseTestCase.php} | 2 +- .../Gd/Analyzers/HeightAnalyzerTest.php | 27 ------ .../Gd/Analyzers/WidthAnalyzerTest.php | 27 ------ .../Imagick/Analyzers/HeightAnalyzerTest.php | 27 ------ .../Imagick/Analyzers/WidthAnalyzerTest.php | 27 ------ .../Analyzers/SpecializableAnalyzerTest.php | 6 +- tests/{ => Unit}/CollectionTest.php | 24 ++--- tests/{ => Unit}/Colors/Cmyk/ChannelTest.php | 20 ++-- tests/{ => Unit}/Colors/Cmyk/ColorTest.php | 14 +-- .../{ => Unit}/Colors/Cmyk/ColorspaceTest.php | 11 +-- .../Cmyk/Decoders/StringColorDecoderTest.php | 14 +-- tests/{ => Unit}/Colors/Hsl/ChannelTest.php | 15 ++- .../Colors/Hsl/Channels/SaturationTest.php | 6 +- tests/{ => Unit}/Colors/Hsl/ColorTest.php | 11 +-- .../{ => Unit}/Colors/Hsl/ColorspaceTest.php | 11 +-- .../Hsl/Decoders/StringColorDecoderTest.php | 14 +-- tests/{ => Unit}/Colors/Hsv/ChannelTest.php | 18 ++-- .../Colors/Hsv/Channels/SaturationTest.php | 6 +- .../Colors/Hsv/Channels/ValueTest.php | 6 +- tests/{ => Unit}/Colors/Hsv/ColorTest.php | 11 +-- .../{ => Unit}/Colors/Hsv/ColorspaceTest.php | 11 +-- .../Hsv/Decoders/StringColorDecoderTest.php | 14 +-- tests/{ => Unit}/Colors/Rgb/ChannelTest.php | 18 ++-- .../Colors/Rgb/Channels/AlphaTest.php | 11 +-- tests/{ => Unit}/Colors/Rgb/ColorTest.php | 14 +-- .../{ => Unit}/Colors/Rgb/ColorspaceTest.php | 11 +-- .../Rgb/Decoders/HexColorDecoderTest.php | 14 +-- .../Rgb/Decoders/HtmlColornameDecoderTest.php | 14 +-- .../Rgb/Decoders/StringColorDecoderTest.php | 14 +-- .../Decoders/SpecializableDecoderTest.php | 6 +- .../Drivers/AbstractDecoderTest.php | 11 +-- .../Drivers/AbstractInputHandlerTest.php | 11 +-- .../Drivers/DriverSpecializedEncoderTest.php | 9 +- .../Drivers/DriverSpecializedTest.php | 9 +- .../Gd/Analyzers/ColorspaceAnalyzerTest.php | 16 ++-- .../Gd/Analyzers/HeightAnalyzerTest.php | 27 ++++++ .../Gd/Analyzers/PixelColorAnalyzerTest.php | 16 ++-- .../Gd/Analyzers/PixelColorsAnalyzerTest.php | 16 ++-- .../Gd/Analyzers/ResolutionAnalyzerTest.php | 16 ++-- .../Gd/Analyzers/WidthAnalyzerTest.php | 27 ++++++ tests/{ => Unit}/Drivers/Gd/ClonerTest.php | 6 +- .../Drivers/Gd/ColorProcessorTest.php | 6 +- tests/{ => Unit}/Drivers/Gd/CoreTest.php | 8 +- .../Gd/Decoders/AbstractDecoderTest.php | 6 +- .../Gd/Decoders/Base64ImageDecoderTest.php | 16 ++-- .../Gd/Decoders/BinaryImageDecoderTest.php | 14 +-- .../Gd/Decoders/DataUriImageDecoderTest.php | 16 ++-- .../Gd/Decoders/FilePathImageDecoderTest.php | 16 ++-- .../Decoders/FilePointerImageDecoderTest.php | 14 +-- .../Gd/Decoders/ImageObjectDecoderTest.php | 14 +-- .../Decoders/SplFileInfoImageDecoderTest.php | 14 +-- tests/{ => Unit}/Drivers/Gd/DriverTest.php | 8 +- .../Drivers/Gd/Encoders/AvifEncoderTest.php | 16 ++-- .../Drivers/Gd/Encoders/BmpEncoderTest.php | 16 ++-- .../Drivers/Gd/Encoders/GifEncoderTest.php | 16 ++-- .../Drivers/Gd/Encoders/JpegEncoderTest.php | 16 ++-- .../Drivers/Gd/Encoders/PngEncoderTest.php | 16 ++-- .../Drivers/Gd/Encoders/WebpEncoderTest.php | 16 ++-- .../Drivers/Gd/FontProcessorTest.php | 6 +- tests/{ => Unit}/Drivers/Gd/FrameTest.php | 24 ++--- tests/{ => Unit}/Drivers/Gd/ImageTest.php | 8 +- .../Drivers/Gd/InputHandlerTest.php | 22 ++--- .../Drivers/Gd/Modifiers/BlurModifierTest.php | 16 ++-- .../Gd/Modifiers/BrightnessModifierTest.php | 16 ++-- .../Gd/Modifiers/ColorizeModifierTest.php | 16 ++-- .../Gd/Modifiers/ContainModifierTest.php | 16 ++-- .../Gd/Modifiers/ContrastModifierTest.php | 16 ++-- .../Gd/Modifiers/CoverModifierTest.php | 16 ++-- .../Drivers/Gd/Modifiers/CropModifierTest.php | 16 ++-- .../Gd/Modifiers/DrawEllipseModifierTest.php | 16 ++-- .../Gd/Modifiers/DrawLineModifierTest.php | 16 ++-- .../Gd/Modifiers/DrawPixelModifierTest.php | 16 ++-- .../Gd/Modifiers/DrawPolygonModifierTest.php | 16 ++-- .../Modifiers/DrawRectangleModifierTest.php | 16 ++-- .../Drivers/Gd/Modifiers/FillModifierTest.php | 16 ++-- .../Gd/Modifiers/FlipFlopModifierTest.php | 16 ++-- .../Gd/Modifiers/GammaModifierTest.php | 16 ++-- .../Gd/Modifiers/GreyscaleModifierTest.php | 16 ++-- .../Gd/Modifiers/InvertModifierTest.php | 16 ++-- .../Gd/Modifiers/PixelateModifierTest.php | 16 ++-- .../Gd/Modifiers/PlaceModifierTest.php | 20 ++-- .../Modifiers/QuantizeColorsModifierTest.php | 16 ++-- .../Modifiers/RemoveAnimationModifierTest.php | 16 ++-- .../Gd/Modifiers/ResizeCanvasModifierTest.php | 16 ++-- .../ResizeCanvasRelativeModifierTest.php | 16 ++-- .../Gd/Modifiers/ResizeModifierTest.php | 16 ++-- .../Gd/Modifiers/ResolutionModifierTest.php | 16 ++-- .../Gd/Modifiers/RotateModifierTest.php | 16 ++-- .../Gd/Modifiers/SharpenModifierTest.php | 16 ++-- .../Drivers/Gd/Traits/CanDecodeGifTest.php | 6 +- .../Analyzers/ColorspaceAnalyzerTest.php | 16 ++-- .../Imagick/Analyzers/HeightAnalyzerTest.php | 27 ++++++ .../Analyzers/PixelColorAnalyzerTest.php | 16 ++-- .../Analyzers/PixelColorsAnalyzerTest.php | 16 ++-- .../Imagick/Analyzers/ProfileAnalyzerTest.php | 16 ++-- .../Analyzers/ResolutionAnalyzerTest.php | 16 ++-- .../Imagick/Analyzers/WidthAnalyzerTest.php | 27 ++++++ .../Drivers/Imagick/ColorProcessorTest.php | 6 +- tests/{ => Unit}/Drivers/Imagick/CoreTest.php | 8 +- .../Decoders/Base64ImageDecoderTest.php | 16 ++-- .../Decoders/BinaryImageDecoderTest.php | 6 +- .../Decoders/DataUriImageDecoderTest.php | 16 ++-- .../Decoders/FilePathImageDecoderTest.php | 16 ++-- .../Decoders/FilePointerImageDecoderTest.php | 14 +-- .../Decoders/ImageObjectDecoderTest.php | 14 +-- .../Decoders/SplFileInfoImageDecoderTest.php | 14 +-- .../{ => Unit}/Drivers/Imagick/DriverTest.php | 8 +- .../Imagick/Encoders/AvifEncoderTest.php | 16 ++-- .../Imagick/Encoders/BmpEncoderTest.php | 16 ++-- .../Imagick/Encoders/GifEncoderTest.php | 16 ++-- .../Imagick/Encoders/HeicEncoderTest.php | 16 ++-- .../Imagick/Encoders/Jpeg2000EncoderTest.php | 16 ++-- .../Imagick/Encoders/JpegEncoderTest.php | 16 ++-- .../Imagick/Encoders/PngEncoderTest.php | 16 ++-- .../Imagick/Encoders/TiffEncoderTest.php | 16 ++-- .../Imagick/Encoders/WebpEncoderTest.php | 16 ++-- .../Drivers/Imagick/FontProcessorTest.php | 6 +- .../{ => Unit}/Drivers/Imagick/FrameTest.php | 24 ++--- .../{ => Unit}/Drivers/Imagick/ImageTest.php | 10 +- .../Drivers/Imagick/InputHandlerTest.php | 22 ++--- .../Imagick/Modifiers/BlurModifierTest.php | 16 ++-- .../Modifiers/BrightnessModifierTest.php | 16 ++-- .../Modifiers/ColorizeModifierTest.php | 16 ++-- .../Imagick/Modifiers/ContainModifierTest.php | 16 ++-- .../Modifiers/ContrastModifierTest.php | 16 ++-- .../Imagick/Modifiers/CoverModifierTest.php | 16 ++-- .../Imagick/Modifiers/CropModifierTest.php | 16 ++-- .../Modifiers/DrawEllipseModifierTest.php | 16 ++-- .../Modifiers/DrawLineModifierTest.php | 16 ++-- .../Modifiers/DrawPixelModifierTest.php | 16 ++-- .../Modifiers/DrawPolygonModifierTest.php | 16 ++-- .../Modifiers/DrawRectangleModifierTest.php | 16 ++-- .../Imagick/Modifiers/FillModifierTest.php | 16 ++-- .../Modifiers/FlipFlopModifierTest.php | 20 ++-- .../Imagick/Modifiers/GammaModifierTest.php | 16 ++-- .../Modifiers/GreyscaleModifierTest.php | 16 ++-- .../Imagick/Modifiers/InvertModifierTest.php | 16 ++-- .../Modifiers/PixelateModifierTest.php | 16 ++-- .../Imagick/Modifiers/PlaceModifierTest.php | 20 ++-- .../Modifiers/QuantizeColorsModifierTest.php | 16 ++-- .../Modifiers/RemoveAnimationModifierTest.php | 16 ++-- .../Modifiers/ResizeCanvasModifierTest.php | 16 ++-- .../ResizeCanvasRelativeModifierTest.php | 16 ++-- .../Imagick/Modifiers/ResizeModifierTest.php | 16 ++-- .../Modifiers/ResolutionModifierTest.php | 16 ++-- .../Imagick/Modifiers/RotateModifierTest.php | 16 ++-- .../Imagick/Modifiers/SharpenModifierTest.php | 16 ++-- tests/{ => Unit}/EncodedImageTest.php | 12 +-- .../Encoders/FileExtensionEncoderTest.php | 6 +- .../Encoders/SpecializableEncoderTest.php | 6 +- tests/{ => Unit}/FileTest.php | 10 +- tests/{ => Unit}/Geometry/CircleTest.php | 6 +- tests/{ => Unit}/Geometry/EllipseTest.php | 6 +- .../Geometry/Factories/CircleFactoryTest.php | 6 +- .../Geometry/Factories/EllipseFactoryTest.php | 6 +- .../Geometry/Factories/LineFactoryTest.php | 6 +- .../Geometry/Factories/PolygonFactoryTest.php | 6 +- .../Factories/RectangleFactoryTest.php | 6 +- tests/{ => Unit}/Geometry/LineTest.php | 6 +- tests/{ => Unit}/Geometry/PixelTest.php | 11 +-- tests/{ => Unit}/Geometry/PointTest.php | 27 +++--- tests/{ => Unit}/Geometry/PolygonTest.php | 11 +-- .../Geometry/RectangleResizerTest.php | 36 +++---- tests/{ => Unit}/Geometry/RectangleTest.php | 14 +-- .../Traits/HasBackgroundColorTest.php | 6 +- .../Geometry/Traits/HasBorderTest.php | 6 +- tests/{ => Unit}/ImageManagerTest.php | 91 ++++++++++-------- tests/{ => Unit}/ModifierStackTest.php | 10 +- .../Modifiers/ColorspaceModifierTest.php | 6 +- .../{ => Unit}/Modifiers/PadModifierTest.php | 6 +- .../Modifiers/SpecializableModifierTest.php | 6 +- tests/{ => Unit}/OriginTest.php | 11 ++- tests/{ => Unit}/ResolutionTest.php | 12 +-- .../{ => Unit}/Typography/FontFactoryTest.php | 6 +- tests/{ => Unit}/Typography/FontTest.php | 6 +- tests/{ => Unit}/Typography/LineTest.php | 6 +- tests/{ => Unit}/Typography/TextBlockTest.php | 8 +- 183 files changed, 1347 insertions(+), 1392 deletions(-) delete mode 100644 phpunit.xml rename tests/{TestCase.php => BaseTestCase.php} (97%) delete mode 100644 tests/Drivers/Gd/Analyzers/HeightAnalyzerTest.php delete mode 100644 tests/Drivers/Gd/Analyzers/WidthAnalyzerTest.php delete mode 100644 tests/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php delete mode 100644 tests/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php rename tests/{ => Unit}/Analyzers/SpecializableAnalyzerTest.php (76%) rename tests/{ => Unit}/CollectionTest.php (91%) rename tests/{ => Unit}/Colors/Cmyk/ChannelTest.php (76%) rename tests/{ => Unit}/Colors/Cmyk/ColorTest.php (90%) rename tests/{ => Unit}/Colors/Cmyk/ColorspaceTest.php (93%) rename tests/{ => Unit}/Colors/Cmyk/Decoders/StringColorDecoderTest.php (76%) rename tests/{ => Unit}/Colors/Hsl/ChannelTest.php (85%) rename tests/{ => Unit}/Colors/Hsl/Channels/SaturationTest.php (65%) rename tests/{ => Unit}/Colors/Hsl/ColorTest.php (92%) rename tests/{ => Unit}/Colors/Hsl/ColorspaceTest.php (93%) rename tests/{ => Unit}/Colors/Hsl/Decoders/StringColorDecoderTest.php (71%) rename tests/{ => Unit}/Colors/Hsv/ChannelTest.php (82%) rename tests/{ => Unit}/Colors/Hsv/Channels/SaturationTest.php (65%) rename tests/{ => Unit}/Colors/Hsv/Channels/ValueTest.php (65%) rename tests/{ => Unit}/Colors/Hsv/ColorTest.php (92%) rename tests/{ => Unit}/Colors/Hsv/ColorspaceTest.php (92%) rename tests/{ => Unit}/Colors/Hsv/Decoders/StringColorDecoderTest.php (82%) rename tests/{ => Unit}/Colors/Rgb/ChannelTest.php (79%) rename tests/{ => Unit}/Colors/Rgb/Channels/AlphaTest.php (53%) rename tests/{ => Unit}/Colors/Rgb/ColorTest.php (93%) rename tests/{ => Unit}/Colors/Rgb/ColorspaceTest.php (93%) rename tests/{ => Unit}/Colors/Rgb/Decoders/HexColorDecoderTest.php (84%) rename tests/{ => Unit}/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php (67%) rename tests/{ => Unit}/Colors/Rgb/Decoders/StringColorDecoderTest.php (82%) rename tests/{ => Unit}/Decoders/SpecializableDecoderTest.php (71%) rename tests/{ => Unit}/Drivers/AbstractDecoderTest.php (94%) rename tests/{ => Unit}/Drivers/AbstractInputHandlerTest.php (83%) rename tests/{ => Unit}/Drivers/DriverSpecializedEncoderTest.php (59%) rename tests/{ => Unit}/Drivers/DriverSpecializedTest.php (76%) rename tests/{ => Unit}/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php (52%) create mode 100644 tests/Unit/Drivers/Gd/Analyzers/HeightAnalyzerTest.php rename tests/{ => Unit}/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php (54%) rename tests/{ => Unit}/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php (59%) rename tests/{ => Unit}/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php (51%) create mode 100644 tests/Unit/Drivers/Gd/Analyzers/WidthAnalyzerTest.php rename tests/{ => Unit}/Drivers/Gd/ClonerTest.php (94%) rename tests/{ => Unit}/Drivers/Gd/ColorProcessorTest.php (89%) rename tests/{ => Unit}/Drivers/Gd/CoreTest.php (95%) rename tests/{ => Unit}/Drivers/Gd/Decoders/AbstractDecoderTest.php (79%) rename tests/{ => Unit}/Drivers/Gd/Decoders/Base64ImageDecoderTest.php (62%) rename tests/{ => Unit}/Drivers/Gd/Decoders/BinaryImageDecoderTest.php (82%) rename tests/{ => Unit}/Drivers/Gd/Decoders/DataUriImageDecoderTest.php (72%) rename tests/{ => Unit}/Drivers/Gd/Decoders/FilePathImageDecoderTest.php (71%) rename tests/{ => Unit}/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php (55%) rename tests/{ => Unit}/Drivers/Gd/Decoders/ImageObjectDecoderTest.php (54%) rename tests/{ => Unit}/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/DriverTest.php (93%) rename tests/{ => Unit}/Drivers/Gd/Encoders/AvifEncoderTest.php (61%) rename tests/{ => Unit}/Drivers/Gd/Encoders/BmpEncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Gd/Encoders/GifEncoderTest.php (75%) rename tests/{ => Unit}/Drivers/Gd/Encoders/JpegEncoderTest.php (61%) rename tests/{ => Unit}/Drivers/Gd/Encoders/PngEncoderTest.php (64%) rename tests/{ => Unit}/Drivers/Gd/Encoders/WebpEncoderTest.php (61%) rename tests/{ => Unit}/Drivers/Gd/FontProcessorTest.php (95%) rename tests/{ => Unit}/Drivers/Gd/FrameTest.php (83%) rename tests/{ => Unit}/Drivers/Gd/ImageTest.php (98%) rename tests/{ => Unit}/Drivers/Gd/InputHandlerTest.php (87%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/BlurModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/BrightnessModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ColorizeModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ContainModifierTest.php (63%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ContrastModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/CoverModifierTest.php (65%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/CropModifierTest.php (74%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php (60%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/DrawLineModifierTest.php (60%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/DrawPixelModifierTest.php (55%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php (61%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php (60%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/FillModifierTest.php (74%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/FlipFlopModifierTest.php (64%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/GammaModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/GreyscaleModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/InvertModifierTest.php (58%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/PixelateModifierTest.php (58%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/PlaceModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php (77%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php (70%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php (81%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php (76%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ResizeModifierTest.php (65%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/ResolutionModifierTest.php (57%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/RotateModifierTest.php (55%) rename tests/{ => Unit}/Drivers/Gd/Modifiers/SharpenModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Gd/Traits/CanDecodeGifTest.php (91%) rename tests/{ => Unit}/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php (52%) create mode 100644 tests/Unit/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php rename tests/{ => Unit}/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php (54%) rename tests/{ => Unit}/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php (59%) rename tests/{ => Unit}/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php (51%) create mode 100644 tests/Unit/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php rename tests/{ => Unit}/Drivers/Imagick/ColorProcessorTest.php (80%) rename tests/{ => Unit}/Drivers/Imagick/CoreTest.php (95%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php (61%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php (93%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php (71%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php (70%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php (55%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php (54%) rename tests/{ => Unit}/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/DriverTest.php (93%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/AvifEncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/BmpEncoderTest.php (65%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/GifEncoderTest.php (74%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/HeicEncoderTest.php (65%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/JpegEncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/PngEncoderTest.php (65%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/TiffEncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Imagick/Encoders/WebpEncoderTest.php (62%) rename tests/{ => Unit}/Drivers/Imagick/FontProcessorTest.php (71%) rename tests/{ => Unit}/Drivers/Imagick/FrameTest.php (81%) rename tests/{ => Unit}/Drivers/Imagick/ImageTest.php (98%) rename tests/{ => Unit}/Drivers/Imagick/InputHandlerTest.php (87%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/BlurModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/BrightnessModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ColorizeModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ContainModifierTest.php (70%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ContrastModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/CoverModifierTest.php (65%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/CropModifierTest.php (74%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php (59%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/DrawLineModifierTest.php (59%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php (54%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php (60%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php (59%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/FillModifierTest.php (73%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php (58%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/GammaModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php (51%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/InvertModifierTest.php (58%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/PixelateModifierTest.php (64%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/PlaceModifierTest.php (52%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php (70%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php (70%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php (81%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php (75%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ResizeModifierTest.php (58%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/ResolutionModifierTest.php (56%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/RotateModifierTest.php (55%) rename tests/{ => Unit}/Drivers/Imagick/Modifiers/SharpenModifierTest.php (51%) rename tests/{ => Unit}/EncodedImageTest.php (83%) rename tests/{ => Unit}/Encoders/FileExtensionEncoderTest.php (93%) rename tests/{ => Unit}/Encoders/SpecializableEncoderTest.php (88%) rename tests/{ => Unit}/FileTest.php (81%) rename tests/{ => Unit}/Geometry/CircleTest.php (90%) rename tests/{ => Unit}/Geometry/EllipseTest.php (93%) rename tests/{ => Unit}/Geometry/Factories/CircleFactoryTest.php (85%) rename tests/{ => Unit}/Geometry/Factories/EllipseFactoryTest.php (86%) rename tests/{ => Unit}/Geometry/Factories/LineFactoryTest.php (85%) rename tests/{ => Unit}/Geometry/Factories/PolygonFactoryTest.php (84%) rename tests/{ => Unit}/Geometry/Factories/RectangleFactoryTest.php (86%) rename tests/{ => Unit}/Geometry/LineTest.php (94%) rename tests/{ => Unit}/Geometry/PixelTest.php (67%) rename tests/{ => Unit}/Geometry/PointTest.php (77%) rename tests/{ => Unit}/Geometry/PolygonTest.php (98%) rename tests/{ => Unit}/Geometry/RectangleResizerTest.php (96%) rename tests/{ => Unit}/Geometry/RectangleTest.php (97%) rename tests/{ => Unit}/Geometry/Traits/HasBackgroundColorTest.php (79%) rename tests/{ => Unit}/Geometry/Traits/HasBorderTest.php (91%) rename tests/{ => Unit}/ImageManagerTest.php (65%) rename tests/{ => Unit}/ModifierStackTest.php (83%) rename tests/{ => Unit}/Modifiers/ColorspaceModifierTest.php (85%) rename tests/{ => Unit}/Modifiers/PadModifierTest.php (80%) rename tests/{ => Unit}/Modifiers/SpecializableModifierTest.php (77%) rename tests/{ => Unit}/OriginTest.php (69%) rename tests/{ => Unit}/ResolutionTest.php (86%) rename tests/{ => Unit}/Typography/FontFactoryTest.php (90%) rename tests/{ => Unit}/Typography/FontTest.php (94%) rename tests/{ => Unit}/Typography/LineTest.php (91%) rename tests/{ => Unit}/Typography/TextBlockTest.php (83%) diff --git a/.editorconfig b/.editorconfig index 09a9fd89..0e63afa8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,13 +2,11 @@ root = true -[*] +[*.php] +indent_size = 4 indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true - -[*.php] -indent_size = 4 diff --git a/.gitignore b/.gitignore index 344e3a73..0fe4e41f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ build/ vendor/ -.phpunit.result.cache +/.phpunit.cache composer.lock phpunit.xml diff --git a/composer.json b/composer.json index 14a6a8a4..466bb9bc 100644 --- a/composer.json +++ b/composer.json @@ -1,51 +1,51 @@ { - "name": "intervention/image", - "description": "PHP image manipulation", - "homepage": "https://image.intervention.io/", - "keywords": [ - "image", - "gd", - "imagick", - "watermark", - "thumbnail", - "resize" - ], - "license": "MIT", - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" + "name": "intervention/image", + "description": "PHP image manipulation", + "homepage": "https://image.intervention.io/", + "keywords": [ + "image", + "gd", + "imagick", + "watermark", + "thumbnail", + "resize" + ], + "license": "MIT", + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" + } + ], + "require": { + "php": "^8.1", + "ext-mbstring": "*", + "intervention/gif": "^4.0.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "mockery/mockery": "^1.6", + "phpstan/phpstan": "^1", + "squizlabs/php_codesniffer": "^3.8", + "slevomat/coding-standard": "~8.0" + }, + "suggest": { + "ext-exif": "Recommended to be able to read EXIF data properly." + }, + "autoload": { + "psr-4": { + "Intervention\\Image\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Intervention\\Image\\Tests\\": "tests" + } + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } - ], - "require": { - "php": "^8.1", - "ext-mbstring": "*", - "intervention/gif": "^4.0.1" - }, - "require-dev": { - "phpunit/phpunit": "^9", - "mockery/mockery": "^1.6", - "phpstan/phpstan": "^1", - "squizlabs/php_codesniffer": "^3.8", - "slevomat/coding-standard": "~8.0" - }, - "suggest": { - "ext-exif": "Recommended to be able to read EXIF data properly." - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "Intervention\\Image\\Tests\\": "tests" - } - }, - "config": { - "allow-plugins": { - "dealerdirect/phpcodesniffer-composer-installer": true - } - } } diff --git a/docker-compose.yml b/docker-compose.yml index fa749c11..f3850e17 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: tests: build: ./ working_dir: /project - command: bash -c "composer install && ./vendor/bin/phpunit -vvv" + command: bash -c "composer install && ./vendor/bin/phpunit" volumes: - ./:/project coverage: diff --git a/phpunit.xml b/phpunit.xml deleted file mode 100644 index 0fa3ad89..00000000 --- a/phpunit.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - ./tests/ - - - - - - src - - - diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 63454441..d13b0ce8 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,23 +1,13 @@ - - - - ./tests/ - - - - - - src - - + + + + ./tests/Unit + + + + + src + + diff --git a/tests/TestCase.php b/tests/BaseTestCase.php similarity index 97% rename from tests/TestCase.php rename to tests/BaseTestCase.php index 5bcdaddd..392da50a 100644 --- a/tests/TestCase.php +++ b/tests/BaseTestCase.php @@ -9,7 +9,7 @@ use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Interfaces\ColorInterface; use Mockery\Adapter\Phpunit\MockeryTestCase; -abstract class TestCase extends MockeryTestCase +abstract class BaseTestCase extends MockeryTestCase { public function getTestImagePath($filename = 'test.jpg'): string { diff --git a/tests/Drivers/Gd/Analyzers/HeightAnalyzerTest.php b/tests/Drivers/Gd/Analyzers/HeightAnalyzerTest.php deleted file mode 100644 index 3afa9660..00000000 --- a/tests/Drivers/Gd/Analyzers/HeightAnalyzerTest.php +++ /dev/null @@ -1,27 +0,0 @@ -readTestImage('tile.png'); - $analyzer = new HeightAnalyzer(); - $result = $analyzer->analyze($image); - $this->assertEquals(16, $result); - } -} diff --git a/tests/Drivers/Gd/Analyzers/WidthAnalyzerTest.php b/tests/Drivers/Gd/Analyzers/WidthAnalyzerTest.php deleted file mode 100644 index 9ec6e482..00000000 --- a/tests/Drivers/Gd/Analyzers/WidthAnalyzerTest.php +++ /dev/null @@ -1,27 +0,0 @@ -readTestImage('tile.png'); - $analyzer = new WidthAnalyzer(); - $result = $analyzer->analyze($image); - $this->assertEquals(16, $result); - } -} diff --git a/tests/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php b/tests/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php deleted file mode 100644 index 47e520c6..00000000 --- a/tests/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php +++ /dev/null @@ -1,27 +0,0 @@ -readTestImage('tile.png'); - $analyzer = new HeightAnalyzer(); - $result = $analyzer->analyze($image); - $this->assertEquals(16, $result); - } -} diff --git a/tests/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php b/tests/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php deleted file mode 100644 index a8187232..00000000 --- a/tests/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php +++ /dev/null @@ -1,27 +0,0 @@ -readTestImage('tile.png'); - $analyzer = new WidthAnalyzer(); - $result = $analyzer->analyze($image); - $this->assertEquals(16, $result); - } -} diff --git a/tests/Analyzers/SpecializableAnalyzerTest.php b/tests/Unit/Analyzers/SpecializableAnalyzerTest.php similarity index 76% rename from tests/Analyzers/SpecializableAnalyzerTest.php rename to tests/Unit/Analyzers/SpecializableAnalyzerTest.php index 42ad2224..b109c16b 100644 --- a/tests/Analyzers/SpecializableAnalyzerTest.php +++ b/tests/Unit/Analyzers/SpecializableAnalyzerTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Analyzers; +namespace Intervention\Image\Tests\Unit\Analyzers; use Intervention\Image\Analyzers\SpecializableAnalyzer; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class SpecializableAnalyzerTest extends TestCase +final class SpecializableAnalyzerTest extends BaseTestCase { public function testAnalyzer(): void { diff --git a/tests/CollectionTest.php b/tests/Unit/CollectionTest.php similarity index 91% rename from tests/CollectionTest.php rename to tests/Unit/CollectionTest.php index 9bff60b9..08eb581b 100644 --- a/tests/CollectionTest.php +++ b/tests/Unit/CollectionTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Collection; use Intervention\Image\Exceptions\RuntimeException; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Collection - */ -class CollectionTest extends TestCase +#[CoversClass(\Intervention\Image\Collection::class)] +final class CollectionTest extends BaseTestCase { - public function testConstructor() + public function testConstructor(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertInstanceOf(Collection::class, $collection); @@ -21,7 +21,7 @@ class CollectionTest extends TestCase $this->assertInstanceOf(Collection::class, $collection); } - public function testIterator() + public function testIterator(): void { $collection = new Collection(['foo', 'bar', 'baz']); foreach ($collection as $key => $item) { @@ -41,14 +41,14 @@ class CollectionTest extends TestCase } } - public function testCount() + public function testCount(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertEquals(3, $collection->count()); $this->assertEquals(3, count($collection)); } - public function testFilter() + public function testFilter(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertEquals(3, $collection->count()); @@ -58,7 +58,7 @@ class CollectionTest extends TestCase $this->assertEquals(2, $collection->count()); } - public function testFirstLast() + public function testFirstLast(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertEquals('foo', $collection->first()); @@ -69,7 +69,7 @@ class CollectionTest extends TestCase $this->assertNull($collection->last()); } - public function testPush() + public function testPush(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertEquals(3, $collection->count()); @@ -78,7 +78,7 @@ class CollectionTest extends TestCase $this->assertInstanceOf(Collection::class, $result); } - public function testToArray() + public function testToArray(): void { $collection = new Collection(['foo', 'bar', 'baz']); $this->assertEquals(['foo', 'bar', 'baz'], $collection->toArray()); diff --git a/tests/Colors/Cmyk/ChannelTest.php b/tests/Unit/Colors/Cmyk/ChannelTest.php similarity index 76% rename from tests/Colors/Cmyk/ChannelTest.php rename to tests/Unit/Colors/Cmyk/ChannelTest.php index 038aa7f6..1f58747e 100644 --- a/tests/Colors/Cmyk/ChannelTest.php +++ b/tests/Unit/Colors/Cmyk/ChannelTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Cmyk; +namespace Intervention\Image\Tests\Unit\Colors\Cmyk; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Channels\Cyan as Channel; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Cmyk\Channels\Cyan - * @covers \Intervention\Image\Colors\Cmyk\Channels\Magenta - * @covers \Intervention\Image\Colors\Cmyk\Channels\Yellow - * @covers \Intervention\Image\Colors\Cmyk\Channels\Key - */ -class ChannelTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Channels\Cyan::class)] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Channels\Magenta::class)] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Channels\Yellow::class)] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Channels\Key::class)] +final class ChannelTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Cmyk/ColorTest.php b/tests/Unit/Colors/Cmyk/ColorTest.php similarity index 90% rename from tests/Colors/Cmyk/ColorTest.php rename to tests/Unit/Colors/Cmyk/ColorTest.php index d6c6e67e..01a9003e 100644 --- a/tests/Colors/Cmyk/ColorTest.php +++ b/tests/Unit/Colors/Cmyk/ColorTest.php @@ -2,8 +2,10 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Cmyk; +namespace Intervention\Image\Tests\Unit\Colors\Cmyk; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Channels\Cyan; use Intervention\Image\Colors\Cmyk\Channels\Key; use Intervention\Image\Colors\Cmyk\Channels\Magenta; @@ -11,13 +13,11 @@ use Intervention\Image\Colors\Cmyk\Channels\Yellow; use Intervention\Image\Colors\Cmyk\Color; use Intervention\Image\Colors\Cmyk\Colorspace; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Cmyk\Color - */ -class ColorTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Color::class)] +final class ColorTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Cmyk/ColorspaceTest.php b/tests/Unit/Colors/Cmyk/ColorspaceTest.php similarity index 93% rename from tests/Colors/Cmyk/ColorspaceTest.php rename to tests/Unit/Colors/Cmyk/ColorspaceTest.php index 55717ff3..c70b19c7 100644 --- a/tests/Colors/Cmyk/ColorspaceTest.php +++ b/tests/Unit/Colors/Cmyk/ColorspaceTest.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Cmyk; +namespace Intervention\Image\Tests\Unit\Colors\Cmyk; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Cmyk\Channels\Cyan; use Intervention\Image\Colors\Cmyk\Channels\Key; use Intervention\Image\Colors\Cmyk\Channels\Magenta; @@ -13,12 +14,10 @@ use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Hsl\Color as HslColor; use Intervention\Image\Colors\Cmyk\Colorspace; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Cmyk\Colorspace - */ -class ColorspaceTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Cmyk\Colorspace::class)] +final class ColorspaceTest extends BaseTestCase { public function testColorFromNormalized(): void { diff --git a/tests/Colors/Cmyk/Decoders/StringColorDecoderTest.php b/tests/Unit/Colors/Cmyk/Decoders/StringColorDecoderTest.php similarity index 76% rename from tests/Colors/Cmyk/Decoders/StringColorDecoderTest.php rename to tests/Unit/Colors/Cmyk/Decoders/StringColorDecoderTest.php index 2dd30ed8..e24996b8 100644 --- a/tests/Colors/Cmyk/Decoders/StringColorDecoderTest.php +++ b/tests/Unit/Colors/Cmyk/Decoders/StringColorDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Cmyk\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Cmyk\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Color; use Intervention\Image\Colors\Cmyk\Decoders\StringColorDecoder; use Intervention\Image\Exceptions\DecoderException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Cmyk\Decoders\StringColorDecoder - */ -class StringColorDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Cmyk\Decoders\StringColorDecoder::class)] +final class StringColorDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Colors/Hsl/ChannelTest.php b/tests/Unit/Colors/Hsl/ChannelTest.php similarity index 85% rename from tests/Colors/Hsl/ChannelTest.php rename to tests/Unit/Colors/Hsl/ChannelTest.php index b88f7985..11166f27 100644 --- a/tests/Colors/Hsl/ChannelTest.php +++ b/tests/Unit/Colors/Hsl/ChannelTest.php @@ -2,20 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsl; +namespace Intervention\Image\Tests\Unit\Colors\Hsl; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Hsl\Channels\Hue; use Intervention\Image\Colors\Hsl\Channels\Saturation; use Intervention\Image\Colors\Hsl\Channels\Luminance; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Hsl\Channels\Hue - * @covers \Intervention\Image\Colors\Hsl\Channels\Saturation - * @covers \Intervention\Image\Colors\Hsl\Channels\Luminance - */ -class ChannelTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Hsl\Channels\Hue::class)] +#[CoversClass(\Intervention\Image\Colors\Hsl\Channels\Saturation::class)] +#[CoversClass(\Intervention\Image\Colors\Hsl\Channels\Luminance::class)] +final class ChannelTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Hsl/Channels/SaturationTest.php b/tests/Unit/Colors/Hsl/Channels/SaturationTest.php similarity index 65% rename from tests/Colors/Hsl/Channels/SaturationTest.php rename to tests/Unit/Colors/Hsl/Channels/SaturationTest.php index 684cfeef..a97da881 100644 --- a/tests/Colors/Hsl/Channels/SaturationTest.php +++ b/tests/Unit/Colors/Hsl/Channels/SaturationTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsl\Channels; +namespace Intervention\Image\Tests\Unit\Colors\Hsl\Channels; use Intervention\Image\Colors\Hsl\Channels\Saturation; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class SaturationTest extends TestCase +final class SaturationTest extends BaseTestCase { public function testMinMax(): void { diff --git a/tests/Colors/Hsl/ColorTest.php b/tests/Unit/Colors/Hsl/ColorTest.php similarity index 92% rename from tests/Colors/Hsl/ColorTest.php rename to tests/Unit/Colors/Hsl/ColorTest.php index 45743a1a..b926b2c2 100644 --- a/tests/Colors/Hsl/ColorTest.php +++ b/tests/Unit/Colors/Hsl/ColorTest.php @@ -2,20 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsl; +namespace Intervention\Image\Tests\Unit\Colors\Hsl; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Hsl\Channels\Hue; use Intervention\Image\Colors\Hsl\Channels\Luminance; use Intervention\Image\Colors\Hsl\Channels\Saturation; use Intervention\Image\Colors\Hsl\Color; use Intervention\Image\Colors\Hsl\Colorspace; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Hsl\Color - */ -class ColorTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Hsl\Color::class)] +final class ColorTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Hsl/ColorspaceTest.php b/tests/Unit/Colors/Hsl/ColorspaceTest.php similarity index 93% rename from tests/Colors/Hsl/ColorspaceTest.php rename to tests/Unit/Colors/Hsl/ColorspaceTest.php index 3a785aac..3a1e0bfb 100644 --- a/tests/Colors/Hsl/ColorspaceTest.php +++ b/tests/Unit/Colors/Hsl/ColorspaceTest.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsl; +namespace Intervention\Image\Tests\Unit\Colors\Hsl; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Hsl\Channels\Hue; use Intervention\Image\Colors\Hsl\Channels\Luminance; @@ -12,12 +13,10 @@ use Intervention\Image\Colors\Hsl\Color as HslColor; use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Hsl\Colorspace; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Hsl\Colorspace - */ -class ColorspaceTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Hsl\Colorspace::class)] +final class ColorspaceTest extends BaseTestCase { public function testColorFromNormalized(): void { diff --git a/tests/Colors/Hsl/Decoders/StringColorDecoderTest.php b/tests/Unit/Colors/Hsl/Decoders/StringColorDecoderTest.php similarity index 71% rename from tests/Colors/Hsl/Decoders/StringColorDecoderTest.php rename to tests/Unit/Colors/Hsl/Decoders/StringColorDecoderTest.php index 8c79364b..bff8a093 100644 --- a/tests/Colors/Hsl/Decoders/StringColorDecoderTest.php +++ b/tests/Unit/Colors/Hsl/Decoders/StringColorDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsl\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Hsl\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Hsl\Color; use Intervention\Image\Colors\Hsl\Decoders\StringColorDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Hsl\Decoders\StringColorDecoder - */ -class StringColorDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Hsl\Decoders\StringColorDecoder::class)] +final class StringColorDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Colors/Hsv/ChannelTest.php b/tests/Unit/Colors/Hsv/ChannelTest.php similarity index 82% rename from tests/Colors/Hsv/ChannelTest.php rename to tests/Unit/Colors/Hsv/ChannelTest.php index bc3bf08d..e3aca085 100644 --- a/tests/Colors/Hsv/ChannelTest.php +++ b/tests/Unit/Colors/Hsv/ChannelTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv; +namespace Intervention\Image\Tests\Unit\Colors\Hsv; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Hsv\Channels\Hue; use Intervention\Image\Colors\Hsv\Channels\Saturation; use Intervention\Image\Colors\Hsv\Channels\Value; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Hsv\Channels\Hue - * @covers \Intervention\Image\Colors\Hsv\Channels\Saturation - * @covers \Intervention\Image\Colors\Hsv\Channels\Value - */ -class ChannelTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Hsv\Channels\Hue::class)] +#[CoversClass(\Intervention\Image\Colors\Hsv\Channels\Saturation::class)] +#[CoversClass(\Intervention\Image\Colors\Hsv\Channels\Value::class)] +final class ChannelTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Hsv/Channels/SaturationTest.php b/tests/Unit/Colors/Hsv/Channels/SaturationTest.php similarity index 65% rename from tests/Colors/Hsv/Channels/SaturationTest.php rename to tests/Unit/Colors/Hsv/Channels/SaturationTest.php index 04892b52..db273448 100644 --- a/tests/Colors/Hsv/Channels/SaturationTest.php +++ b/tests/Unit/Colors/Hsv/Channels/SaturationTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv\Channels; +namespace Intervention\Image\Tests\Unit\Colors\Hsv\Channels; use Intervention\Image\Colors\Hsv\Channels\Saturation; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class SaturationTest extends TestCase +final class SaturationTest extends BaseTestCase { public function testMinMax(): void { diff --git a/tests/Colors/Hsv/Channels/ValueTest.php b/tests/Unit/Colors/Hsv/Channels/ValueTest.php similarity index 65% rename from tests/Colors/Hsv/Channels/ValueTest.php rename to tests/Unit/Colors/Hsv/Channels/ValueTest.php index afe7cd12..7a49d592 100644 --- a/tests/Colors/Hsv/Channels/ValueTest.php +++ b/tests/Unit/Colors/Hsv/Channels/ValueTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv\Channels; +namespace Intervention\Image\Tests\Unit\Colors\Hsv\Channels; use Intervention\Image\Colors\Hsv\Channels\Value; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class ValueTest extends TestCase +final class ValueTest extends BaseTestCase { public function testMinMax(): void { diff --git a/tests/Colors/Hsv/ColorTest.php b/tests/Unit/Colors/Hsv/ColorTest.php similarity index 92% rename from tests/Colors/Hsv/ColorTest.php rename to tests/Unit/Colors/Hsv/ColorTest.php index fe602aa1..76d90e08 100644 --- a/tests/Colors/Hsv/ColorTest.php +++ b/tests/Unit/Colors/Hsv/ColorTest.php @@ -2,20 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv; +namespace Intervention\Image\Tests\Unit\Colors\Hsv; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Hsv\Channels\Hue; use Intervention\Image\Colors\Hsv\Channels\Saturation; use Intervention\Image\Colors\Hsv\Channels\Value; use Intervention\Image\Colors\Hsv\Color; use Intervention\Image\Colors\Hsv\Colorspace; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Hsv\Color - */ -class ColorTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Hsv\Color::class)] +final class ColorTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Hsv/ColorspaceTest.php b/tests/Unit/Colors/Hsv/ColorspaceTest.php similarity index 92% rename from tests/Colors/Hsv/ColorspaceTest.php rename to tests/Unit/Colors/Hsv/ColorspaceTest.php index cc300471..1eb89459 100644 --- a/tests/Colors/Hsv/ColorspaceTest.php +++ b/tests/Unit/Colors/Hsv/ColorspaceTest.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv; +namespace Intervention\Image\Tests\Unit\Colors\Hsv; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Hsv\Channels\Hue; use Intervention\Image\Colors\Hsv\Channels\Saturation; @@ -12,12 +13,10 @@ use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Colors\Hsl\Color as HslColor; use Intervention\Image\Colors\Hsv\Colorspace; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Hsv\Colorspace - */ -class ColorspaceTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Hsv\Colorspace::class)] +final class ColorspaceTest extends BaseTestCase { public function testColorFromNormalized(): void { diff --git a/tests/Colors/Hsv/Decoders/StringColorDecoderTest.php b/tests/Unit/Colors/Hsv/Decoders/StringColorDecoderTest.php similarity index 82% rename from tests/Colors/Hsv/Decoders/StringColorDecoderTest.php rename to tests/Unit/Colors/Hsv/Decoders/StringColorDecoderTest.php index 40a0c283..fa63c6ce 100644 --- a/tests/Colors/Hsv/Decoders/StringColorDecoderTest.php +++ b/tests/Unit/Colors/Hsv/Decoders/StringColorDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Hsv\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Hsv\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Hsv\Color; use Intervention\Image\Colors\Hsv\Decoders\StringColorDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Hsv\Decoders\StringColorDecoder - */ -class StringColorDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Hsv\Decoders\StringColorDecoder::class)] +final class StringColorDecoderTest extends BaseTestCase { public function testDecodeHsv(): void { diff --git a/tests/Colors/Rgb/ChannelTest.php b/tests/Unit/Colors/Rgb/ChannelTest.php similarity index 79% rename from tests/Colors/Rgb/ChannelTest.php rename to tests/Unit/Colors/Rgb/ChannelTest.php index 95da26b0..a61ef50d 100644 --- a/tests/Colors/Rgb/ChannelTest.php +++ b/tests/Unit/Colors/Rgb/ChannelTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb; +namespace Intervention\Image\Tests\Unit\Colors\Rgb; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Channels\Red as Channel; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Rgb\Channels\Red - * @covers \Intervention\Image\Colors\Rgb\Channels\Green - * @covers \Intervention\Image\Colors\Rgb\Channels\Blue - */ -class ChannelTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Rgb\Channels\Red::class)] +#[CoversClass(\Intervention\Image\Colors\Rgb\Channels\Green::class)] +#[CoversClass(\Intervention\Image\Colors\Rgb\Channels\Blue::class)] +final class ChannelTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Rgb/Channels/AlphaTest.php b/tests/Unit/Colors/Rgb/Channels/AlphaTest.php similarity index 53% rename from tests/Colors/Rgb/Channels/AlphaTest.php rename to tests/Unit/Colors/Rgb/Channels/AlphaTest.php index 1aed0fac..cc6432bc 100644 --- a/tests/Colors/Rgb/Channels/AlphaTest.php +++ b/tests/Unit/Colors/Rgb/Channels/AlphaTest.php @@ -2,15 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb\Channels; +namespace Intervention\Image\Tests\Unit\Colors\Rgb\Channels; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Rgb\Channels\Alpha; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Rgb\Channels\Alpha - */ -class AlphaTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Rgb\Channels\Alpha::class)] +final class AlphaTest extends BaseTestCase { public function testToString(): void { diff --git a/tests/Colors/Rgb/ColorTest.php b/tests/Unit/Colors/Rgb/ColorTest.php similarity index 93% rename from tests/Colors/Rgb/ColorTest.php rename to tests/Unit/Colors/Rgb/ColorTest.php index d6eb9319..4163662a 100644 --- a/tests/Colors/Rgb/ColorTest.php +++ b/tests/Unit/Colors/Rgb/ColorTest.php @@ -2,8 +2,10 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb; +namespace Intervention\Image\Tests\Unit\Colors\Rgb; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Cmyk\Colorspace as CmykColorspace; use Intervention\Image\Colors\Rgb\Channels\Red; @@ -12,13 +14,11 @@ use Intervention\Image\Colors\Rgb\Channels\Blue; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Colors\Rgb\Colorspace as RgbColorspace; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Rgb\Color - */ -class ColorTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Rgb\Color::class)] +final class ColorTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Colors/Rgb/ColorspaceTest.php b/tests/Unit/Colors/Rgb/ColorspaceTest.php similarity index 93% rename from tests/Colors/Rgb/ColorspaceTest.php rename to tests/Unit/Colors/Rgb/ColorspaceTest.php index b4202000..5d4d5ec8 100644 --- a/tests/Colors/Rgb/ColorspaceTest.php +++ b/tests/Unit/Colors/Rgb/ColorspaceTest.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb; +namespace Intervention\Image\Tests\Unit\Colors\Rgb; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Rgb\Channels\Blue; @@ -13,12 +14,10 @@ use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Colors\Hsl\Color as HslColor; use Intervention\Image\Colors\Rgb\Channels\Alpha; use Intervention\Image\Colors\Rgb\Colorspace; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Colors\Rgb\Colorspace - */ -class ColorspaceTest extends TestCase +#[CoversClass(\Intervention\Image\Colors\Rgb\Colorspace::class)] +final class ColorspaceTest extends BaseTestCase { public function testColorFromNormalized(): void { diff --git a/tests/Colors/Rgb/Decoders/HexColorDecoderTest.php b/tests/Unit/Colors/Rgb/Decoders/HexColorDecoderTest.php similarity index 84% rename from tests/Colors/Rgb/Decoders/HexColorDecoderTest.php rename to tests/Unit/Colors/Rgb/Decoders/HexColorDecoderTest.php index 1f82d3fb..1396b688 100644 --- a/tests/Colors/Rgb/Decoders/HexColorDecoderTest.php +++ b/tests/Unit/Colors/Rgb/Decoders/HexColorDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Rgb\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Colors\Rgb\Decoders\HexColorDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Rgb\Decoders\HexColorDecoder - */ -class HexColorDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Rgb\Decoders\HexColorDecoder::class)] +final class HexColorDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php b/tests/Unit/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php similarity index 67% rename from tests/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php rename to tests/Unit/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php index 0b82fc9f..0ef15b37 100644 --- a/tests/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php +++ b/tests/Unit/Colors/Rgb/Decoders/HtmlColornameDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Rgb\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Colors\Rgb\Decoders\HtmlColornameDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Rgb\Decoders\HtmlColorNameDecoder - */ -class HtmlColornameDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Rgb\Decoders\HtmlColorNameDecoder::class)] +final class HtmlColornameDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Colors/Rgb/Decoders/StringColorDecoderTest.php b/tests/Unit/Colors/Rgb/Decoders/StringColorDecoderTest.php similarity index 82% rename from tests/Colors/Rgb/Decoders/StringColorDecoderTest.php rename to tests/Unit/Colors/Rgb/Decoders/StringColorDecoderTest.php index d3c22ce1..75ba06ce 100644 --- a/tests/Colors/Rgb/Decoders/StringColorDecoderTest.php +++ b/tests/Unit/Colors/Rgb/Decoders/StringColorDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Colors\Rgb\Decoders; +namespace Intervention\Image\Tests\Unit\Colors\Rgb\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Colors\Rgb\Decoders\StringColorDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Colors\Rgb\Decoders\StringColorDecoder - */ -class StringColorDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Colors\Rgb\Decoders\StringColorDecoder::class)] +final class StringColorDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Decoders/SpecializableDecoderTest.php b/tests/Unit/Decoders/SpecializableDecoderTest.php similarity index 71% rename from tests/Decoders/SpecializableDecoderTest.php rename to tests/Unit/Decoders/SpecializableDecoderTest.php index e7b4637f..0c0a5a00 100644 --- a/tests/Decoders/SpecializableDecoderTest.php +++ b/tests/Unit/Decoders/SpecializableDecoderTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Decoders; +namespace Intervention\Image\Tests\Unit\Decoders; use Intervention\Image\Decoders\SpecializableDecoder; use Intervention\Image\Exceptions\DecoderException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class SpecializableDecoderTest extends TestCase +final class SpecializableDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Drivers/AbstractDecoderTest.php b/tests/Unit/Drivers/AbstractDecoderTest.php similarity index 94% rename from tests/Drivers/AbstractDecoderTest.php rename to tests/Unit/Drivers/AbstractDecoderTest.php index cd999b0a..ef2ee2c5 100644 --- a/tests/Drivers/AbstractDecoderTest.php +++ b/tests/Unit/Drivers/AbstractDecoderTest.php @@ -2,21 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers; +namespace Intervention\Image\Tests\Unit\Drivers; +use PHPUnit\Framework\Attributes\CoversClass; use Exception; use Intervention\Image\Drivers\AbstractDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Interfaces\CollectionInterface; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -/** - * @covers \Intervention\Image\Drivers\AbstractDecoder - */ -class AbstractDecoderTest extends TestCase +#[CoversClass(\Intervention\Image\Drivers\AbstractDecoder::class)] +final class AbstractDecoderTest extends BaseTestCase { public function testHandle(): void { diff --git a/tests/Drivers/AbstractInputHandlerTest.php b/tests/Unit/Drivers/AbstractInputHandlerTest.php similarity index 83% rename from tests/Drivers/AbstractInputHandlerTest.php rename to tests/Unit/Drivers/AbstractInputHandlerTest.php index 150d26ca..0e0e1929 100644 --- a/tests/Drivers/AbstractInputHandlerTest.php +++ b/tests/Unit/Drivers/AbstractInputHandlerTest.php @@ -2,19 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers; +namespace Intervention\Image\Tests\Unit\Drivers; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Drivers\AbstractDecoder; use Intervention\Image\Drivers\AbstractInputHandler; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -/** - * @covers \Intervention\Image\Drivers\AbstractInputHandler - */ -final class AbstractInputHandlerTest extends TestCase +#[CoversClass(\Intervention\Image\Drivers\AbstractInputHandler::class)] +final class AbstractInputHandlerTest extends BaseTestCase { public function testHandle(): void { diff --git a/tests/Drivers/DriverSpecializedEncoderTest.php b/tests/Unit/Drivers/DriverSpecializedEncoderTest.php similarity index 59% rename from tests/Drivers/DriverSpecializedEncoderTest.php rename to tests/Unit/Drivers/DriverSpecializedEncoderTest.php index c2177de0..ed03ca74 100644 --- a/tests/Drivers/DriverSpecializedEncoderTest.php +++ b/tests/Unit/Drivers/DriverSpecializedEncoderTest.php @@ -2,18 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers; +namespace Intervention\Image\Tests\Unit\Drivers; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Drivers\DriverSpecializedEncoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; /** - * @covers \Intervention\Image\Drivers\DriverSpecializedEncoder * * @internal */ -class DriverSpecializedEncoderTest extends TestCase +#[CoversClass(\Intervention\Image\Drivers\DriverSpecializedEncoder::class)] +final class DriverSpecializedEncoderTest extends BaseTestCase { public function testGetBuffered(): void { diff --git a/tests/Drivers/DriverSpecializedTest.php b/tests/Unit/Drivers/DriverSpecializedTest.php similarity index 76% rename from tests/Drivers/DriverSpecializedTest.php rename to tests/Unit/Drivers/DriverSpecializedTest.php index 0d32aeb0..6df5358b 100644 --- a/tests/Drivers/DriverSpecializedTest.php +++ b/tests/Unit/Drivers/DriverSpecializedTest.php @@ -2,20 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers; +namespace Intervention\Image\Tests\Unit\Drivers; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Interfaces\DriverInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Drivers\DriverSpecialized; use Mockery; /** - * @covers \Intervention\Image\Drivers\DriverSpecialized * * @internal */ -class DriverSpecializedTest extends TestCase +#[CoversClass(\Intervention\Image\Drivers\DriverSpecialized::class)] +final class DriverSpecializedTest extends BaseTestCase { public function testBuildSpecialized(): void { diff --git a/tests/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php similarity index 52% rename from tests/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php rename to tests/Unit/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php index 5cfb3d5d..aac7d3d6 100644 --- a/tests/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php +++ b/tests/Unit/Drivers/Gd/Analyzers/ColorspaceAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\ColorspaceAnalyzer; use Intervention\Image\Interfaces\ColorspaceInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Analyzers\ColorspaceAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\ColorspaceAnalyzer - */ -class ColorspaceAnalyzerTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Analyzers\ColorspaceAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\ColorspaceAnalyzer::class)] +final class ColorspaceAnalyzerTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Unit/Drivers/Gd/Analyzers/HeightAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/HeightAnalyzerTest.php new file mode 100644 index 00000000..8601e45d --- /dev/null +++ b/tests/Unit/Drivers/Gd/Analyzers/HeightAnalyzerTest.php @@ -0,0 +1,27 @@ +readTestImage('tile.png'); + $analyzer = new HeightAnalyzer(); + $result = $analyzer->analyze($image); + $this->assertEquals(16, $result); + } +} diff --git a/tests/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php similarity index 54% rename from tests/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php rename to tests/Unit/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php index 8ec5421d..79027a13 100644 --- a/tests/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php +++ b/tests/Unit/Drivers/Gd/Analyzers/PixelColorAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\PixelColorAnalyzer; use Intervention\Image\Interfaces\ColorInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Analyzers\PixelColorAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\PixelColorAnalyzer - */ -class PixelColorAnalyzerTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Analyzers\PixelColorAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\PixelColorAnalyzer::class)] +final class PixelColorAnalyzerTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php similarity index 59% rename from tests/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php rename to tests/Unit/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php index f3baef85..fb8ca4bd 100644 --- a/tests/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php +++ b/tests/Unit/Drivers/Gd/Analyzers/PixelColorsAnalyzerTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\PixelColorsAnalyzer; use Intervention\Image\Collection; use Intervention\Image\Interfaces\ColorInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Analyzers\PixelColorsAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\PixelColorsAnalyzer - */ -class PixelColorsAnalyzerTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Analyzers\PixelColorsAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\PixelColorsAnalyzer::class)] +final class PixelColorsAnalyzerTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php similarity index 51% rename from tests/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php rename to tests/Unit/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php index 4b82c0f0..a7f41080 100644 --- a/tests/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php +++ b/tests/Unit/Drivers/Gd/Analyzers/ResolutionAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\ResolutionAnalyzer; use Intervention\Image\Resolution; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Analyzers\ResolutionAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\ResolutionAnalyzer - */ -class ResolutionAnalyzerTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Analyzers\ResolutionAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\ResolutionAnalyzer::class)] +final class ResolutionAnalyzerTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Unit/Drivers/Gd/Analyzers/WidthAnalyzerTest.php b/tests/Unit/Drivers/Gd/Analyzers/WidthAnalyzerTest.php new file mode 100644 index 00000000..01e72494 --- /dev/null +++ b/tests/Unit/Drivers/Gd/Analyzers/WidthAnalyzerTest.php @@ -0,0 +1,27 @@ +readTestImage('tile.png'); + $analyzer = new WidthAnalyzer(); + $result = $analyzer->analyze($image); + $this->assertEquals(16, $result); + } +} diff --git a/tests/Drivers/Gd/ClonerTest.php b/tests/Unit/Drivers/Gd/ClonerTest.php similarity index 94% rename from tests/Drivers/Gd/ClonerTest.php rename to tests/Unit/Drivers/Gd/ClonerTest.php index fa4bbb00..f1aa3c73 100644 --- a/tests/Drivers/Gd/ClonerTest.php +++ b/tests/Unit/Drivers/Gd/ClonerTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Drivers\Gd\Cloner; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class ClonerTest extends TestCase +final class ClonerTest extends BaseTestCase { public function testClone(): void { diff --git a/tests/Drivers/Gd/ColorProcessorTest.php b/tests/Unit/Drivers/Gd/ColorProcessorTest.php similarity index 89% rename from tests/Drivers/Gd/ColorProcessorTest.php rename to tests/Unit/Drivers/Gd/ColorProcessorTest.php index c33b71e2..8e214c93 100644 --- a/tests/Drivers/Gd/ColorProcessorTest.php +++ b/tests/Unit/Drivers/Gd/ColorProcessorTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use Intervention\Image\Colors\Rgb\Channels\Alpha; use Intervention\Image\Colors\Rgb\Channels\Blue; @@ -11,9 +11,9 @@ use Intervention\Image\Colors\Rgb\Channels\Red; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Drivers\Gd\ColorProcessor; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class ColorProcessorTest extends TestCase +final class ColorProcessorTest extends BaseTestCase { public function testColorToNative(): void { diff --git a/tests/Drivers/Gd/CoreTest.php b/tests/Unit/Drivers/Gd/CoreTest.php similarity index 95% rename from tests/Drivers/Gd/CoreTest.php rename to tests/Unit/Drivers/Gd/CoreTest.php index 802b05d3..c6cfb73a 100644 --- a/tests/Drivers/Gd/CoreTest.php +++ b/tests/Unit/Drivers/Gd/CoreTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use GdImage; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Exceptions\AnimationException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class CoreTest extends TestCase +final class CoreTest extends BaseTestCase { protected Core $core; - public function setUp(): void + protected function setUp(): void { $this->core = new Core([ new Frame(imagecreatetruecolor(3, 2)), diff --git a/tests/Drivers/Gd/Decoders/AbstractDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/AbstractDecoderTest.php similarity index 79% rename from tests/Drivers/Gd/Decoders/AbstractDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/AbstractDecoderTest.php index a77c3dd3..350c8b35 100644 --- a/tests/Drivers/Gd/Decoders/AbstractDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/AbstractDecoderTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; use Intervention\Image\Drivers\Gd\Decoders\AbstractDecoder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class AbstractDecoderTest extends TestCase +final class AbstractDecoderTest extends BaseTestCase { public function testGetMediaTypeFromFilePath(): void { diff --git a/tests/Drivers/Gd/Decoders/Base64ImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/Base64ImageDecoderTest.php similarity index 62% rename from tests/Drivers/Gd/Decoders/Base64ImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/Base64ImageDecoderTest.php index 643c84ac..a0643a3c 100644 --- a/tests/Drivers/Gd/Decoders/Base64ImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/Base64ImageDecoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\Base64ImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\Base64ImageDecoder - */ -class Base64ImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\Base64ImageDecoder::class)] +final class Base64ImageDecoderTest extends BaseTestCase { protected Base64ImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new Base64ImageDecoder(); } diff --git a/tests/Drivers/Gd/Decoders/BinaryImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/BinaryImageDecoderTest.php similarity index 82% rename from tests/Drivers/Gd/Decoders/BinaryImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/BinaryImageDecoderTest.php index fd443853..e19e7f74 100644 --- a/tests/Drivers/Gd/Decoders/BinaryImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/BinaryImageDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\BinaryImageDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\BinaryImageDecoder - */ -class BinaryImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\BinaryImageDecoder::class)] +final class BinaryImageDecoderTest extends BaseTestCase { public function testDecodePng(): void { diff --git a/tests/Drivers/Gd/Decoders/DataUriImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/DataUriImageDecoderTest.php similarity index 72% rename from tests/Drivers/Gd/Decoders/DataUriImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/DataUriImageDecoderTest.php index 803cbd62..c0d1dc0e 100644 --- a/tests/Drivers/Gd/Decoders/DataUriImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/DataUriImageDecoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\DataUriImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use stdClass; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\DataUriImageDecoder - */ -class DataUriImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\DataUriImageDecoder::class)] +final class DataUriImageDecoderTest extends BaseTestCase { protected DataUriImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new DataUriImageDecoder(); } diff --git a/tests/Drivers/Gd/Decoders/FilePathImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/FilePathImageDecoderTest.php similarity index 71% rename from tests/Drivers/Gd/Decoders/FilePathImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/FilePathImageDecoderTest.php index fa403387..83fb9943 100644 --- a/tests/Drivers/Gd/Decoders/FilePathImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/FilePathImageDecoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\FilePathImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use stdClass; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\FilePathImageDecoder - */ -class FilePathImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\FilePathImageDecoder::class)] +final class FilePathImageDecoderTest extends BaseTestCase { protected FilePathImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new FilePathImageDecoder(); } diff --git a/tests/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php similarity index 55% rename from tests/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php index 7bcbd1d7..5969761e 100644 --- a/tests/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/FilePointerImageDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\FilePointerImageDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\FilePointerImageDecoder - */ -class FilePointerImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\FilePointerImageDecoder::class)] +final class FilePointerImageDecoderTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Decoders/ImageObjectDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/ImageObjectDecoderTest.php similarity index 54% rename from tests/Drivers/Gd/Decoders/ImageObjectDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/ImageObjectDecoderTest.php index 44210f0c..23d6e6c0 100644 --- a/tests/Drivers/Gd/Decoders/ImageObjectDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/ImageObjectDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\ImageObjectDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\ImageObjectDecoder - */ -class ImageObjectDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\ImageObjectDecoder::class)] +final class ImageObjectDecoderTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php b/tests/Unit/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php similarity index 52% rename from tests/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php rename to tests/Unit/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php index bfe286d0..639d9b75 100644 --- a/tests/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php +++ b/tests/Unit/Drivers/Gd/Decoders/SplFileInfoImageDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Decoders\SplFileInfoImageDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use SplFileInfo; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Decoders\SplFileInfoImageDecoder - */ -class SplFileInfoImageDecoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\SplFileInfoImageDecoder::class)] +final class SplFileInfoImageDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Drivers/Gd/DriverTest.php b/tests/Unit/Drivers/Gd/DriverTest.php similarity index 93% rename from tests/Drivers/Gd/DriverTest.php rename to tests/Unit/Drivers/Gd/DriverTest.php index ff6fb3f0..14fb1967 100644 --- a/tests/Drivers/Gd/DriverTest.php +++ b/tests/Unit/Drivers/Gd/DriverTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use Intervention\Image\Colors\Rgb\Colorspace; use Intervention\Image\Colors\Rgb\Decoders\HexColorDecoder; @@ -10,13 +10,13 @@ use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\ColorProcessorInterface; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class DriverTest extends TestCase +final class DriverTest extends BaseTestCase { protected Driver $driver; - public function setUp(): void + protected function setUp(): void { $this->driver = new Driver(); } diff --git a/tests/Drivers/Gd/Encoders/AvifEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/AvifEncoderTest.php similarity index 61% rename from tests/Drivers/Gd/Encoders/AvifEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/AvifEncoderTest.php index 7f134be8..88f3d5e7 100644 --- a/tests/Drivers/Gd/Encoders/AvifEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/AvifEncoderTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\AvifEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\AvifEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\AvifEncoder - */ -class AvifEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\AvifEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\AvifEncoder::class)] +final class AvifEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Gd/Encoders/BmpEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/BmpEncoderTest.php similarity index 62% rename from tests/Drivers/Gd/Encoders/BmpEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/BmpEncoderTest.php index af371e99..b3e64825 100644 --- a/tests/Drivers/Gd/Encoders/BmpEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/BmpEncoderTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\BmpEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\BmpEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\BmpEncoder - */ -class BmpEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\BmpEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\BmpEncoder::class)] +final class BmpEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Gd/Encoders/GifEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/GifEncoderTest.php similarity index 75% rename from tests/Drivers/Gd/Encoders/GifEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/GifEncoderTest.php index 2ba7d2a4..4ccf758b 100644 --- a/tests/Drivers/Gd/Encoders/GifEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/GifEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\GifEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\GifEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\GifEncoder - */ -class GifEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\GifEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\GifEncoder::class)] +final class GifEncoderTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Encoders/JpegEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/JpegEncoderTest.php similarity index 61% rename from tests/Drivers/Gd/Encoders/JpegEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/JpegEncoderTest.php index 96597be8..afb9e4ff 100644 --- a/tests/Drivers/Gd/Encoders/JpegEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/JpegEncoderTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\JpegEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\JpegEncoder - */ -class JpegEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\JpegEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\JpegEncoder::class)] +final class JpegEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Gd/Encoders/PngEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/PngEncoderTest.php similarity index 64% rename from tests/Drivers/Gd/Encoders/PngEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/PngEncoderTest.php index cbd10d9d..39759f6d 100644 --- a/tests/Drivers/Gd/Encoders/PngEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/PngEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\PngEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\PngEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\PngEncoder - */ -class PngEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\PngEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\PngEncoder::class)] +final class PngEncoderTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Encoders/WebpEncoderTest.php b/tests/Unit/Drivers/Gd/Encoders/WebpEncoderTest.php similarity index 61% rename from tests/Drivers/Gd/Encoders/WebpEncoderTest.php rename to tests/Unit/Drivers/Gd/Encoders/WebpEncoderTest.php index 579ca831..43af2742 100644 --- a/tests/Drivers/Gd/Encoders/WebpEncoderTest.php +++ b/tests/Unit/Drivers/Gd/Encoders/WebpEncoderTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Gd\Core; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Encoders\WebpEncoder; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Encoders\WebpEncoder - * @covers \Intervention\Image\Drivers\Gd\Encoders\WebpEncoder - */ -final class WebpEncoderTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Encoders\WebpEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Encoders\WebpEncoder::class)] +final class WebpEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Gd/FontProcessorTest.php b/tests/Unit/Drivers/Gd/FontProcessorTest.php similarity index 95% rename from tests/Drivers/Gd/FontProcessorTest.php rename to tests/Unit/Drivers/Gd/FontProcessorTest.php index 73c0091a..a5bcaa47 100644 --- a/tests/Drivers/Gd/FontProcessorTest.php +++ b/tests/Unit/Drivers/Gd/FontProcessorTest.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use Intervention\Image\Drivers\Gd\FontProcessor; use Intervention\Image\Geometry\Point; use Intervention\Image\Interfaces\SizeInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\Font; use Intervention\Image\Typography\TextBlock; -class FontProcessorTest extends TestCase +final class FontProcessorTest extends BaseTestCase { public function testBoxSizeGdOne(): void { diff --git a/tests/Drivers/Gd/FrameTest.php b/tests/Unit/Drivers/Gd/FrameTest.php similarity index 83% rename from tests/Drivers/Gd/FrameTest.php rename to tests/Unit/Drivers/Gd/FrameTest.php index 08409a63..f7a33169 100644 --- a/tests/Drivers/Gd/FrameTest.php +++ b/tests/Unit/Drivers/Gd/FrameTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use GdImage; use Intervention\Image\Drivers\Gd\Driver; use Intervention\Image\Drivers\Gd\Frame; use Intervention\Image\Image; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\Frame - */ -class FrameTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\Frame::class)] +final class FrameTest extends BaseTestCase { protected function getTestFrame(): Frame { @@ -51,7 +51,7 @@ class FrameTest extends TestCase $this->assertInstanceOf(Rectangle::class, $frame->size()); } - public function testSetGetDelay() + public function testSetGetDelay(): void { $frame = $this->getTestFrame(); $this->assertEquals(0, $frame->delay()); @@ -61,7 +61,7 @@ class FrameTest extends TestCase $this->assertEquals(1.5, $frame->delay()); } - public function testSetGetDispose() + public function testSetGetDispose(): void { $frame = $this->getTestFrame(); $this->assertEquals(1, $frame->dispose()); @@ -71,7 +71,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->dispose()); } - public function testSetGetOffsetLeft() + public function testSetGetOffsetLeft(): void { $frame = $this->getTestFrame(); $this->assertEquals(0, $frame->offsetLeft()); @@ -81,7 +81,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->offsetLeft()); } - public function testSetGetOffsetTop() + public function testSetGetOffsetTop(): void { $frame = $this->getTestFrame(); $this->assertEquals(0, $frame->offsetTop()); @@ -91,7 +91,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->offsetTop()); } - public function testSetGetOffset() + public function testSetGetOffset(): void { $frame = $this->getTestFrame(); $this->assertEquals(0, $frame->offsetTop()); diff --git a/tests/Drivers/Gd/ImageTest.php b/tests/Unit/Drivers/Gd/ImageTest.php similarity index 98% rename from tests/Drivers/Gd/ImageTest.php rename to tests/Unit/Drivers/Gd/ImageTest.php index 4fdd1106..e49bea12 100644 --- a/tests/Drivers/Gd/ImageTest.php +++ b/tests/Unit/Drivers/Gd/ImageTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; use Intervention\Image\Analyzers\WidthAnalyzer; use Intervention\Image\Collection; @@ -22,17 +22,17 @@ use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Interfaces\ResolutionInterface; use Intervention\Image\Interfaces\SizeInterface; use Intervention\Image\Modifiers\GreyscaleModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; use Intervention\Image\Typography\Font; -class ImageTest extends TestCase +final class ImageTest extends BaseTestCase { use CanCreateGdTestImage; protected Image $image; - public function setUp(): void + protected function setUp(): void { $this->image = new Image( new Driver(), diff --git a/tests/Drivers/Gd/InputHandlerTest.php b/tests/Unit/Drivers/Gd/InputHandlerTest.php similarity index 87% rename from tests/Drivers/Gd/InputHandlerTest.php rename to tests/Unit/Drivers/Gd/InputHandlerTest.php index 6561ee54..7707c04f 100644 --- a/tests/Drivers/Gd/InputHandlerTest.php +++ b/tests/Unit/Drivers/Gd/InputHandlerTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd; +namespace Intervention\Image\Tests\Unit\Drivers\Gd; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Image; use Intervention\Image\Drivers\Gd\InputHandler; use Intervention\Image\Exceptions\DecoderException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use SplFileInfo; -/** - * @requires extension gd - * @covers \Intervention\Image\Drivers\Gd\InputHandler - */ -class InputHandlerTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Drivers\Gd\InputHandler::class)] +final class InputHandlerTest extends BaseTestCase { public function testHandleEmptyString(): void { @@ -29,7 +29,7 @@ class InputHandlerTest extends TestCase public function testHandleBinaryImage(): void { $handler = new InputHandler(); - $input = file_get_contents(__DIR__ . '/../../images/animation.gif'); + $input = file_get_contents($this->getTestImagePath('test.jpg')); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -37,7 +37,7 @@ class InputHandlerTest extends TestCase public function testHandleSplFileInfo(): void { $handler = new InputHandler(); - $input = new SplFileInfo(__DIR__ . '/../../images/test.jpg'); + $input = new SplFileInfo($this->getTestImagePath('test.jpg')); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -45,7 +45,7 @@ class InputHandlerTest extends TestCase public function testHandleFilePathImage(): void { $handler = new InputHandler(); - $input = __DIR__ . '/../../images/animation.gif'; + $input = $this->getTestImagePath('animation.gif'); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -53,7 +53,7 @@ class InputHandlerTest extends TestCase public function testHandleBase64Image(): void { $handler = new InputHandler(); - $input = base64_encode(file_get_contents(__DIR__ . '/../../images/animation.gif')); + $input = base64_encode(file_get_contents($this->getTestImagePath('animation.gif'))); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } diff --git a/tests/Drivers/Gd/Modifiers/BlurModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/BlurModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/BlurModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/BlurModifierTest.php index ea5d8ace..37205ff6 100644 --- a/tests/Drivers/Gd/Modifiers/BlurModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/BlurModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\BlurModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\BlurModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\BlurModifier - */ -class BlurModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\BlurModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\BlurModifier::class)] +final class BlurModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/BrightnessModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/BrightnessModifierTest.php similarity index 51% rename from tests/Drivers/Gd/Modifiers/BrightnessModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/BrightnessModifierTest.php index 5a206175..17bc84d9 100644 --- a/tests/Drivers/Gd/Modifiers/BrightnessModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/BrightnessModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\BrightnessModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\BrightnessModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\BrightnessModifier - */ -class BrightnessModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\BrightnessModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\BrightnessModifier::class)] +final class BrightnessModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ColorizeModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ColorizeModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/ColorizeModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ColorizeModifierTest.php index b8ad31fc..26465647 100644 --- a/tests/Drivers/Gd/Modifiers/ColorizeModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ColorizeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ColorizeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ColorizeModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ColorizeModifier - */ -class ColorizeModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ColorizeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ColorizeModifier::class)] +final class ColorizeModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ContainModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ContainModifierTest.php similarity index 63% rename from tests/Drivers/Gd/Modifiers/ContainModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ContainModifierTest.php index 37866731..48574d4b 100644 --- a/tests/Drivers/Gd/Modifiers/ContainModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ContainModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ContainModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ContainModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ContainModifier - */ -class ContainModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ContainModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ContainModifier::class)] +final class ContainModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ContrastModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ContrastModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/ContrastModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ContrastModifierTest.php index a87be687..a7e5a314 100644 --- a/tests/Drivers/Gd/Modifiers/ContrastModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ContrastModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ContrastModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ContrastModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ContrastModifier - */ -class ContrastModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ContrastModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ContrastModifier::class)] +final class ContrastModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/CoverModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/CoverModifierTest.php similarity index 65% rename from tests/Drivers/Gd/Modifiers/CoverModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/CoverModifierTest.php index a5d71564..8b887bdf 100644 --- a/tests/Drivers/Gd/Modifiers/CoverModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/CoverModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\CoverModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\CoverModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\CoverModifier - */ -class CoverModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\CoverModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\CoverModifier::class)] +final class CoverModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/CropModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/CropModifierTest.php similarity index 74% rename from tests/Drivers/Gd/Modifiers/CropModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/CropModifierTest.php index b84ae67d..c6273818 100644 --- a/tests/Drivers/Gd/Modifiers/CropModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/CropModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\CropModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\CropModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\CropModifier - */ -class CropModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\CropModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\CropModifier::class)] +final class CropModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php similarity index 60% rename from tests/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php index de9d68e4..5e5d79a0 100644 --- a/tests/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/DrawEllipseModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawEllipseModifier; use Intervention\Image\Geometry\Ellipse; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\DrawEllipseModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\DrawEllipseModifier - */ -class DrawEllipseModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\DrawEllipseModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawEllipseModifier::class)] +final class DrawEllipseModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/DrawLineModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php similarity index 60% rename from tests/Drivers/Gd/Modifiers/DrawLineModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php index 3757d489..369442e2 100644 --- a/tests/Drivers/Gd/Modifiers/DrawLineModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawLineModifier; use Intervention\Image\Geometry\Line; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\DrawLineModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\DrawLineModifier - */ -class DrawLineModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\DrawLineModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawLineModifier::class)] +final class DrawLineModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/DrawPixelModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/DrawPixelModifierTest.php similarity index 55% rename from tests/Drivers/Gd/Modifiers/DrawPixelModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/DrawPixelModifierTest.php index 43a67c89..6b9aebed 100644 --- a/tests/Drivers/Gd/Modifiers/DrawPixelModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/DrawPixelModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawPixelModifier; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\DrawPixelModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier - */ -class DrawPixelModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\DrawPixelModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier::class)] +final class DrawPixelModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php similarity index 61% rename from tests/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php index 76d7d77b..c41cbbf8 100644 --- a/tests/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/DrawPolygonModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawPolygonModifier; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Polygon; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\DrawPixelModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier - */ -class DrawPolygonModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\DrawPixelModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawPixelModifier::class)] +final class DrawPolygonModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php similarity index 60% rename from tests/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php index 5f3a1dff..291643c3 100644 --- a/tests/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/DrawRectangleModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawRectangleModifier; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\DrawRectangleModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\DrawRectangleModifier - */ -class DrawRectangleModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\DrawRectangleModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\DrawRectangleModifier::class)] +final class DrawRectangleModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/FillModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/FillModifierTest.php similarity index 74% rename from tests/Drivers/Gd/Modifiers/FillModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/FillModifierTest.php index f16f5de5..63f8aec2 100644 --- a/tests/Drivers/Gd/Modifiers/FillModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/FillModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Modifiers\FillModifier; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\FillModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\FillModifier - */ -class FillModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\FillModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\FillModifier::class)] +final class FillModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/FlipFlopModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/FlipFlopModifierTest.php similarity index 64% rename from tests/Drivers/Gd/Modifiers/FlipFlopModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/FlipFlopModifierTest.php index 746ebcab..69a56f23 100644 --- a/tests/Drivers/Gd/Modifiers/FlipFlopModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/FlipFlopModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\FlipModifier; use Intervention\Image\Modifiers\FlopModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\FlipModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\FlipModifier - */ -class FlipFlopModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\FlipModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\FlipModifier::class)] +final class FlipFlopModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/GammaModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/GammaModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/GammaModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/GammaModifierTest.php index 87c6b9be..1a18069a 100644 --- a/tests/Drivers/Gd/Modifiers/GammaModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/GammaModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\GammaModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\GammaModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\GammaModifier - */ -class GammaModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\GammaModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\GammaModifier::class)] +final class GammaModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/GreyscaleModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/GreyscaleModifierTest.php similarity index 51% rename from tests/Drivers/Gd/Modifiers/GreyscaleModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/GreyscaleModifierTest.php index a9faa6bb..a31de139 100644 --- a/tests/Drivers/Gd/Modifiers/GreyscaleModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/GreyscaleModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\GreyscaleModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\GreyscaleModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\GreyscaleModifier - */ -class GreyscaleModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\GreyscaleModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\GreyscaleModifier::class)] +final class GreyscaleModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/InvertModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/InvertModifierTest.php similarity index 58% rename from tests/Drivers/Gd/Modifiers/InvertModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/InvertModifierTest.php index 25eeced7..882d1a1f 100644 --- a/tests/Drivers/Gd/Modifiers/InvertModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/InvertModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\InvertModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\InvertModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\InvertModifier - */ -class InvertModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\InvertModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\InvertModifier::class)] +final class InvertModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/PixelateModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/PixelateModifierTest.php similarity index 58% rename from tests/Drivers/Gd/Modifiers/PixelateModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/PixelateModifierTest.php index 4f45e07e..af89472c 100644 --- a/tests/Drivers/Gd/Modifiers/PixelateModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/PixelateModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\PixelateModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\PixelateModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\PixelateModifier - */ -class PixelateModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\PixelateModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\PixelateModifier::class)] +final class PixelateModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/PlaceModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/PlaceModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/PlaceModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/PlaceModifierTest.php index cfe35d55..dc53fd01 100644 --- a/tests/Drivers/Gd/Modifiers/PlaceModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/PlaceModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\PlaceModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\PlaceModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\PlaceModifier - */ -class PlaceModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\PlaceModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\PlaceModifier::class)] +final class PlaceModifierTest extends BaseTestCase { use CanCreateGdTestImage; @@ -21,7 +21,7 @@ class PlaceModifierTest extends TestCase { $image = $this->readTestImage('test.jpg'); $this->assertEquals('febc44', $image->pickColor(300, 25)->toHex()); - $image->modify(new PlaceModifier(__DIR__ . '/../../../images/circle.png', 'top-right', 0, 0)); + $image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0)); $this->assertEquals('32250d', $image->pickColor(300, 25)->toHex()); } @@ -29,7 +29,7 @@ class PlaceModifierTest extends TestCase { $image = $this->readTestImage('test.jpg'); $this->assertEquals('febc44', $image->pickColor(300, 25)->toHex()); - $image->modify(new PlaceModifier(__DIR__ . '/../../../images/circle.png', 'top-right', 0, 0, 50)); + $image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0, 50)); $this->assertEquals('987028', $image->pickColor(300, 25)->toHex()); } } diff --git a/tests/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php similarity index 77% rename from tests/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php index 8343b40d..8d40421f 100644 --- a/tests/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/QuantizeColorsModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Exceptions\InputException; use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Modifiers\QuantizeColorsModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\QuantizeColorsModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\QuantizeColorsModifier - */ -class QuantizeColorsModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\QuantizeColorsModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\QuantizeColorsModifier::class)] +final class QuantizeColorsModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php similarity index 70% rename from tests/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php index ea190c6a..495be08c 100644 --- a/tests/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/RemoveAnimationModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Exceptions\InputException; use Intervention\Image\Modifiers\RemoveAnimationModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\RemoveAnimationModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\RemoveAnimationModifier - */ -class RemoveAnimationModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\RemoveAnimationModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\RemoveAnimationModifier::class)] +final class RemoveAnimationModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php similarity index 81% rename from tests/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php index 68592094..9d573d80 100644 --- a/tests/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeCanvasModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ResizeCanvasModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasModifier - */ -class ResizeCanvasModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasModifier::class)] +final class ResizeCanvasModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php similarity index 76% rename from tests/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php index e1306f55..d415d6d1 100644 --- a/tests/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ResizeCanvasRelativeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeCanvasRelativeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ResizeCanvasRelativeModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasRelativeModifier - */ -class ResizeCanvasRelativeModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasRelativeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeCanvasRelativeModifier::class)] +final class ResizeCanvasRelativeModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ResizeModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ResizeModifierTest.php similarity index 65% rename from tests/Drivers/Gd/Modifiers/ResizeModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ResizeModifierTest.php index dc75de07..a5f86d69 100644 --- a/tests/Drivers/Gd/Modifiers/ResizeModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ResizeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ResizeModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ResizeModifier - */ -class ResizeModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResizeModifier::class)] +final class ResizeModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/ResolutionModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/ResolutionModifierTest.php similarity index 57% rename from tests/Drivers/Gd/Modifiers/ResolutionModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/ResolutionModifierTest.php index 9cda784c..1813ca8a 100644 --- a/tests/Drivers/Gd/Modifiers/ResolutionModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/ResolutionModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResolutionModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\ResolutionModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\ResolutionModifier - */ -class ResolutionModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\ResolutionModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\ResolutionModifier::class)] +final class ResolutionModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/RotateModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/RotateModifierTest.php similarity index 55% rename from tests/Drivers/Gd/Modifiers/RotateModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/RotateModifierTest.php index 2f5070a6..d66d551f 100644 --- a/tests/Drivers/Gd/Modifiers/RotateModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/RotateModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\RotateModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\RotateModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\RotateModifier - */ -class RotateModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\RotateModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\RotateModifier::class)] +final class RotateModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Modifiers/SharpenModifierTest.php b/tests/Unit/Drivers/Gd/Modifiers/SharpenModifierTest.php similarity index 52% rename from tests/Drivers/Gd/Modifiers/SharpenModifierTest.php rename to tests/Unit/Drivers/Gd/Modifiers/SharpenModifierTest.php index ff4df9da..61a4e456 100644 --- a/tests/Drivers/Gd/Modifiers/SharpenModifierTest.php +++ b/tests/Unit/Drivers/Gd/Modifiers/SharpenModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\SharpenModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateGdTestImage; -/** - * @requires extension gd - * @covers \Intervention\Image\Modifiers\SharpenModifier - * @covers \Intervention\Image\Drivers\Gd\Modifiers\SharpenModifier - */ -class SharpenModifierTest extends TestCase +#[RequiresPhpExtension('gd')] +#[CoversClass(\Intervention\Image\Modifiers\SharpenModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Gd\Modifiers\SharpenModifier::class)] +final class SharpenModifierTest extends BaseTestCase { use CanCreateGdTestImage; diff --git a/tests/Drivers/Gd/Traits/CanDecodeGifTest.php b/tests/Unit/Drivers/Gd/Traits/CanDecodeGifTest.php similarity index 91% rename from tests/Drivers/Gd/Traits/CanDecodeGifTest.php rename to tests/Unit/Drivers/Gd/Traits/CanDecodeGifTest.php index 44d2299a..2fd09e17 100644 --- a/tests/Drivers/Gd/Traits/CanDecodeGifTest.php +++ b/tests/Unit/Drivers/Gd/Traits/CanDecodeGifTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Gd\Traits; +namespace Intervention\Image\Tests\Unit\Drivers\Gd\Traits; use Intervention\Image\Drivers\Gd\Decoders\Traits\CanDecodeGif; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class CanDecodeGifTest extends TestCase +final class CanDecodeGifTest extends BaseTestCase { public function testDecodeGifFromBinaryAnimation(): void { diff --git a/tests/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php similarity index 52% rename from tests/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php rename to tests/Unit/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php index cdf15633..975aa47a 100644 --- a/tests/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php +++ b/tests/Unit/Drivers/Imagick/Analyzers/ColorspaceAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\ColorspaceAnalyzer; use Intervention\Image\Interfaces\ColorspaceInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Analyzers\ColorspaceAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\ColorspaceAnalyzer - */ -class ColorspaceAnalyzerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Analyzers\ColorspaceAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\ColorspaceAnalyzer::class)] +final class ColorspaceAnalyzerTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Unit/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php new file mode 100644 index 00000000..b4f46fe1 --- /dev/null +++ b/tests/Unit/Drivers/Imagick/Analyzers/HeightAnalyzerTest.php @@ -0,0 +1,27 @@ +readTestImage('tile.png'); + $analyzer = new HeightAnalyzer(); + $result = $analyzer->analyze($image); + $this->assertEquals(16, $result); + } +} diff --git a/tests/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php similarity index 54% rename from tests/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php rename to tests/Unit/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php index 21396ab2..c4dbee2d 100644 --- a/tests/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php +++ b/tests/Unit/Drivers/Imagick/Analyzers/PixelColorAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\PixelColorAnalyzer; use Intervention\Image\Interfaces\ColorInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Analyzers\PixelColorAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\PixelColorAnalyzer - */ -class PixelColorAnalyzerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Analyzers\PixelColorAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\PixelColorAnalyzer::class)] +final class PixelColorAnalyzerTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php similarity index 59% rename from tests/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php rename to tests/Unit/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php index 13eb9baf..5f8e4ce3 100644 --- a/tests/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php +++ b/tests/Unit/Drivers/Imagick/Analyzers/PixelColorsAnalyzerTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\PixelColorsAnalyzer; use Intervention\Image\Collection; use Intervention\Image\Interfaces\ColorInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Analyzers\PixelColorsAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\PixelColorsAnalyzer - */ -class PixelColorsAnalyzerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Analyzers\PixelColorsAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\PixelColorsAnalyzer::class)] +final class PixelColorsAnalyzerTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php similarity index 51% rename from tests/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php rename to tests/Unit/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php index cb11bd7a..64bace9f 100644 --- a/tests/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php +++ b/tests/Unit/Drivers/Imagick/Analyzers/ProfileAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\ProfileAnalyzer; use Intervention\Image\Exceptions\ColorException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Analyzers\ProfileAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\ProfileAnalyzer - */ -class ProfileAnalyzerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Analyzers\ProfileAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\ProfileAnalyzer::class)] +final class ProfileAnalyzerTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php similarity index 51% rename from tests/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php rename to tests/Unit/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php index 5275c729..4b5c0189 100644 --- a/tests/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php +++ b/tests/Unit/Drivers/Imagick/Analyzers/ResolutionAnalyzerTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Analyzers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Analyzers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Analyzers\ResolutionAnalyzer; use Intervention\Image\Resolution; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Analyzers\ResolutionAnalyzer - * @covers \Intervention\Image\Drivers\Imagick\Analyzers\ResolutionAnalyzer - */ -class ResolutionAnalyzerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Analyzers\ResolutionAnalyzer::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Analyzers\ResolutionAnalyzer::class)] +final class ResolutionAnalyzerTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Unit/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php b/tests/Unit/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php new file mode 100644 index 00000000..8e3e3ea9 --- /dev/null +++ b/tests/Unit/Drivers/Imagick/Analyzers/WidthAnalyzerTest.php @@ -0,0 +1,27 @@ +readTestImage('tile.png'); + $analyzer = new WidthAnalyzer(); + $result = $analyzer->analyze($image); + $this->assertEquals(16, $result); + } +} diff --git a/tests/Drivers/Imagick/ColorProcessorTest.php b/tests/Unit/Drivers/Imagick/ColorProcessorTest.php similarity index 80% rename from tests/Drivers/Imagick/ColorProcessorTest.php rename to tests/Unit/Drivers/Imagick/ColorProcessorTest.php index 2268d15d..55164ae9 100644 --- a/tests/Drivers/Imagick/ColorProcessorTest.php +++ b/tests/Unit/Drivers/Imagick/ColorProcessorTest.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; use ImagickPixel; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Colors\Rgb\Colorspace; use Intervention\Image\Drivers\Imagick\ColorProcessor; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class ColorProcessorTest extends TestCase +final class ColorProcessorTest extends BaseTestCase { public function testColorToNative(): void { diff --git a/tests/Drivers/Imagick/CoreTest.php b/tests/Unit/Drivers/Imagick/CoreTest.php similarity index 95% rename from tests/Drivers/Imagick/CoreTest.php rename to tests/Unit/Drivers/Imagick/CoreTest.php index 902d18cd..1a6fa89a 100644 --- a/tests/Drivers/Imagick/CoreTest.php +++ b/tests/Unit/Drivers/Imagick/CoreTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Frame; use Intervention\Image\Exceptions\AnimationException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class CoreTest extends TestCase +final class CoreTest extends BaseTestCase { protected Core $core; - public function setUp(): void + protected function setUp(): void { $imagick = new Imagick(); diff --git a/tests/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php similarity index 61% rename from tests/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php index dbf36a5f..a5c27f56 100644 --- a/tests/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/Base64ImageDecoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\Base64ImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\Base64ImageDecoder - */ -class Base64ImageDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\Base64ImageDecoder::class)] +final class Base64ImageDecoderTest extends BaseTestCase { protected Base64ImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new Base64ImageDecoder(); } diff --git a/tests/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php similarity index 93% rename from tests/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php index 3fe4713c..d087ae18 100644 --- a/tests/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/BinaryImageDecoderTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; use Intervention\Image\Colors\Cmyk\Colorspace as CmykColorspace; use Intervention\Image\Colors\Rgb\Colorspace as RgbColorspace; use Intervention\Image\Drivers\Imagick\Decoders\BinaryImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use stdClass; -class BinaryImageDecoderTest extends TestCase +final class BinaryImageDecoderTest extends BaseTestCase { public function testDecodePng(): void { diff --git a/tests/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php similarity index 71% rename from tests/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php index a14ee580..e1ee4c63 100644 --- a/tests/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/DataUriImageDecoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\DataUriImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use stdClass; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\DataUriImageDecoder - */ -class DataUriImageDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\DataUriImageDecoder::class)] +final class DataUriImageDecoderTest extends BaseTestCase { protected DataUriImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new DataUriImageDecoder(); } diff --git a/tests/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php similarity index 70% rename from tests/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php index ae470096..c199506f 100644 --- a/tests/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/FilePathImageDecoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\FilePathImageDecoder; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use stdClass; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\FilePathImageDecoder - */ -class FilePathImageDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\FilePathImageDecoder::class)] +final class FilePathImageDecoderTest extends BaseTestCase { protected FilePathImageDecoder $decoder; - public function setUp(): void + protected function setUp(): void { $this->decoder = new FilePathImageDecoder(); } diff --git a/tests/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php similarity index 55% rename from tests/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php index 7b823897..b0cd97a9 100644 --- a/tests/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/FilePointerImageDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\FilePointerImageDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\FilePointerImageDecoder - */ -class FilePointerImageDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\FilePointerImageDecoder::class)] +final class FilePointerImageDecoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php similarity index 54% rename from tests/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php index 60857a29..1e4b6257 100644 --- a/tests/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/ImageObjectDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\ImageObjectDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\ImageObjectDecoder - */ -class ImageObjectDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\ImageObjectDecoder::class)] +final class ImageObjectDecoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php b/tests/Unit/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php similarity index 51% rename from tests/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php rename to tests/Unit/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php index 8f3c9378..ef2e4c92 100644 --- a/tests/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php +++ b/tests/Unit/Drivers/Imagick/Decoders/SplFileInfoImageDecoderTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Decoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Drivers\Imagick\Decoders\SplFileInfoImageDecoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use SplFileInfo; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Decoders\SplFileInfoImageDecoder - */ -class SplFileInfoImageDecoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\SplFileInfoImageDecoder::class)] +final class SplFileInfoImageDecoderTest extends BaseTestCase { public function testDecode(): void { diff --git a/tests/Drivers/Imagick/DriverTest.php b/tests/Unit/Drivers/Imagick/DriverTest.php similarity index 93% rename from tests/Drivers/Imagick/DriverTest.php rename to tests/Unit/Drivers/Imagick/DriverTest.php index b497a4f0..c34f2da2 100644 --- a/tests/Drivers/Imagick/DriverTest.php +++ b/tests/Unit/Drivers/Imagick/DriverTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; use Intervention\Image\Colors\Rgb\Colorspace; use Intervention\Image\Colors\Rgb\Decoders\HexColorDecoder; @@ -10,13 +10,13 @@ use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Interfaces\ColorInterface; use Intervention\Image\Interfaces\ColorProcessorInterface; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class DriverTest extends TestCase +final class DriverTest extends BaseTestCase { protected Driver $driver; - public function setUp(): void + protected function setUp(): void { $this->driver = new Driver(); } diff --git a/tests/Drivers/Imagick/Encoders/AvifEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/AvifEncoderTest.php similarity index 62% rename from tests/Drivers/Imagick/Encoders/AvifEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/AvifEncoderTest.php index 69f7e43e..361b020b 100644 --- a/tests/Drivers/Imagick/Encoders/AvifEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/AvifEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\AvifEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\AvifEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\AvifEncoder - */ -class AvifEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\AvifEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\AvifEncoder::class)] +final class AvifEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Imagick/Encoders/BmpEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/BmpEncoderTest.php similarity index 65% rename from tests/Drivers/Imagick/Encoders/BmpEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/BmpEncoderTest.php index a3080919..fead4565 100644 --- a/tests/Drivers/Imagick/Encoders/BmpEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/BmpEncoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\BmpEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\BmpEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\BmpEncoder - */ -class BmpEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\BmpEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\BmpEncoder::class)] +final class BmpEncoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Encoders/GifEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/GifEncoderTest.php similarity index 74% rename from tests/Drivers/Imagick/Encoders/GifEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/GifEncoderTest.php index 3961dd98..79745c53 100644 --- a/tests/Drivers/Imagick/Encoders/GifEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/GifEncoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\GifEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\GifEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\GifEncoder - */ -class GifEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\GifEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\GifEncoder::class)] +final class GifEncoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Encoders/HeicEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/HeicEncoderTest.php similarity index 65% rename from tests/Drivers/Imagick/Encoders/HeicEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/HeicEncoderTest.php index d4b171ad..c7ffd386 100644 --- a/tests/Drivers/Imagick/Encoders/HeicEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/HeicEncoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\HeicEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\HeicEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\HeicEncoder - */ -final class HeicEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\HeicEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\HeicEncoder::class)] +final class HeicEncoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php similarity index 62% rename from tests/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php index 0cca7ca8..e775e95b 100644 --- a/tests/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/Jpeg2000EncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\Jpeg2000Encoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\Jpeg2000Encoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\Jpeg2000Encoder - */ -class Jpeg2000EncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\Jpeg2000Encoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\Jpeg2000Encoder::class)] +final class Jpeg2000EncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Imagick/Encoders/JpegEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/JpegEncoderTest.php similarity index 62% rename from tests/Drivers/Imagick/Encoders/JpegEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/JpegEncoderTest.php index 077d46be..ab6c7617 100644 --- a/tests/Drivers/Imagick/Encoders/JpegEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/JpegEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\JpegEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\JpegEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\JpegEncoder - */ -class JpegEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\JpegEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\JpegEncoder::class)] +final class JpegEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Imagick/Encoders/PngEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/PngEncoderTest.php similarity index 65% rename from tests/Drivers/Imagick/Encoders/PngEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/PngEncoderTest.php index f58b38c7..c8c5a64e 100644 --- a/tests/Drivers/Imagick/Encoders/PngEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/PngEncoderTest.php @@ -2,23 +2,23 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\PngEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\PngEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\PngEncoder - */ -final class PngEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\PngEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\PngEncoder::class)] +final class PngEncoderTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Encoders/TiffEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/TiffEncoderTest.php similarity index 62% rename from tests/Drivers/Imagick/Encoders/TiffEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/TiffEncoderTest.php index d03e8a40..d703c5fc 100644 --- a/tests/Drivers/Imagick/Encoders/TiffEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/TiffEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\TiffEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\TiffEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\TiffEncoder - */ -final class TiffEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\TiffEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\TiffEncoder::class)] +final class TiffEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Imagick/Encoders/WebpEncoderTest.php b/tests/Unit/Drivers/Imagick/Encoders/WebpEncoderTest.php similarity index 62% rename from tests/Drivers/Imagick/Encoders/WebpEncoderTest.php rename to tests/Unit/Drivers/Imagick/Encoders/WebpEncoderTest.php index 5a4991fc..a582483d 100644 --- a/tests/Drivers/Imagick/Encoders/WebpEncoderTest.php +++ b/tests/Unit/Drivers/Imagick/Encoders/WebpEncoderTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Encoders; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Encoders; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Core; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Encoders\WebpEncoder; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Encoders\WebpEncoder - * @covers \Intervention\Image\Drivers\Imagick\Encoders\WebpEncoder - */ -final class WebpEncoderTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Encoders\WebpEncoder::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Encoders\WebpEncoder::class)] +final class WebpEncoderTest extends BaseTestCase { protected function getTestImage(): Image { diff --git a/tests/Drivers/Imagick/FontProcessorTest.php b/tests/Unit/Drivers/Imagick/FontProcessorTest.php similarity index 71% rename from tests/Drivers/Imagick/FontProcessorTest.php rename to tests/Unit/Drivers/Imagick/FontProcessorTest.php index 8f5627e2..7feb5c90 100644 --- a/tests/Drivers/Imagick/FontProcessorTest.php +++ b/tests/Unit/Drivers/Imagick/FontProcessorTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; use Intervention\Image\Drivers\Imagick\FontProcessor; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\Font; -class FontProcessorTest extends TestCase +final class FontProcessorTest extends BaseTestCase { public function testNativeFontSize(): void { diff --git a/tests/Drivers/Imagick/FrameTest.php b/tests/Unit/Drivers/Imagick/FrameTest.php similarity index 81% rename from tests/Drivers/Imagick/FrameTest.php rename to tests/Unit/Drivers/Imagick/FrameTest.php index c4ed6ac7..632dce40 100644 --- a/tests/Drivers/Imagick/FrameTest.php +++ b/tests/Unit/Drivers/Imagick/FrameTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Imagick; use ImagickPixel; use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Drivers\Imagick\Frame; use Intervention\Image\Image; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\Frame - */ -class FrameTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Frame::class)] +final class FrameTest extends BaseTestCase { protected function getTestFrame(): Frame { @@ -41,7 +41,7 @@ class FrameTest extends TestCase $this->assertInstanceOf(Rectangle::class, $frame->size()); } - public function testSetGetDelay() + public function testSetGetDelay(): void { $frame = $this->getTestFrame(); $this->assertEquals(1.25, $frame->delay()); @@ -52,7 +52,7 @@ class FrameTest extends TestCase $this->assertEquals(250, $frame->native()->getImageDelay()); } - public function testSetGetDispose() + public function testSetGetDispose(): void { $frame = $this->getTestFrame(); $this->assertEquals(5, $frame->dispose()); @@ -62,7 +62,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->dispose()); } - public function testSetGetOffsetLeft() + public function testSetGetOffsetLeft(): void { $frame = $this->getTestFrame(); $this->assertEquals(8, $frame->offsetLeft()); @@ -72,7 +72,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->offsetLeft()); } - public function testSetGetOffsetTop() + public function testSetGetOffsetTop(): void { $frame = $this->getTestFrame(); $this->assertEquals(9, $frame->offsetTop()); @@ -82,7 +82,7 @@ class FrameTest extends TestCase $this->assertEquals(100, $frame->offsetTop()); } - public function testSetGetOffset() + public function testSetGetOffset(): void { $frame = $this->getTestFrame(); $this->assertEquals(8, $frame->offsetLeft()); diff --git a/tests/Drivers/Imagick/ImageTest.php b/tests/Unit/Drivers/Imagick/ImageTest.php similarity index 98% rename from tests/Drivers/Imagick/ImageTest.php rename to tests/Unit/Drivers/Imagick/ImageTest.php index 560ed608..927f195f 100644 --- a/tests/Drivers/Imagick/ImageTest.php +++ b/tests/Unit/Drivers/Imagick/ImageTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; use Imagick; use Intervention\Image\Analyzers\WidthAnalyzer; @@ -24,19 +24,19 @@ use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Interfaces\ResolutionInterface; use Intervention\Image\Interfaces\SizeInterface; use Intervention\Image\Modifiers\GreyscaleModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -class ImageTest extends TestCase +final class ImageTest extends BaseTestCase { use CanCreateImagickTestImage; protected Image $image; - public function setUp(): void + protected function setUp(): void { $imagick = new Imagick(); - $imagick->readImage(__DIR__ . '/../../images/animation.gif'); + $imagick->readImage($this->getTestImagePath('animation.gif')); $this->image = new Image( new Driver(), new Core($imagick), diff --git a/tests/Drivers/Imagick/InputHandlerTest.php b/tests/Unit/Drivers/Imagick/InputHandlerTest.php similarity index 87% rename from tests/Drivers/Imagick/InputHandlerTest.php rename to tests/Unit/Drivers/Imagick/InputHandlerTest.php index 79e3de18..8131c0bb 100644 --- a/tests/Drivers/Imagick/InputHandlerTest.php +++ b/tests/Unit/Drivers/Imagick/InputHandlerTest.php @@ -2,22 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Cmyk\Color as CmykColor; use Intervention\Image\Colors\Hsv\Color as HsvColor; use Intervention\Image\Colors\Rgb\Color as RgbColor; use Intervention\Image\Drivers\Imagick\InputHandler; use Intervention\Image\Exceptions\DecoderException; use Intervention\Image\Image; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use SplFileInfo; -/** - * @requires extension imagick - * @covers \Intervention\Image\Drivers\Imagick\InputHandler - */ -class InputHandlerTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Drivers\Imagick\InputHandler::class)] +final class InputHandlerTest extends BaseTestCase { public function testHandleEmptyString(): void { @@ -29,7 +29,7 @@ class InputHandlerTest extends TestCase public function testHandleBinaryImage(): void { $handler = new InputHandler(); - $input = file_get_contents(__DIR__ . '/../../images/animation.gif'); + $input = file_get_contents($this->getTestImagePath('animation.gif')); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -37,7 +37,7 @@ class InputHandlerTest extends TestCase public function testHandleSplFileInfo(): void { $handler = new InputHandler(); - $input = new SplFileInfo(__DIR__ . '/../../images/test.jpg'); + $input = new SplFileInfo($this->getTestImagePath('test.jpg')); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -45,7 +45,7 @@ class InputHandlerTest extends TestCase public function testHandleFilePathImage(): void { $handler = new InputHandler(); - $input = __DIR__ . '/../../images/animation.gif'; + $input = $this->getTestImagePath('animation.gif'); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } @@ -53,7 +53,7 @@ class InputHandlerTest extends TestCase public function testHandleBase64Image(): void { $handler = new InputHandler(); - $input = base64_encode(file_get_contents(__DIR__ . '/../../images/animation.gif')); + $input = base64_encode(file_get_contents($this->getTestImagePath('animation.gif'))); $result = $handler->handle($input); $this->assertInstanceOf(Image::class, $result); } diff --git a/tests/Drivers/Imagick/Modifiers/BlurModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/BlurModifierTest.php similarity index 52% rename from tests/Drivers/Imagick/Modifiers/BlurModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/BlurModifierTest.php index a2d3a6a8..99ff1213 100644 --- a/tests/Drivers/Imagick/Modifiers/BlurModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/BlurModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\BlurModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\BlurModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\BlurModifier - */ -class BlurModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\BlurModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\BlurModifier::class)] +final class BlurModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/BrightnessModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/BrightnessModifierTest.php similarity index 51% rename from tests/Drivers/Imagick/Modifiers/BrightnessModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/BrightnessModifierTest.php index b5184ed2..b09afc8f 100644 --- a/tests/Drivers/Imagick/Modifiers/BrightnessModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/BrightnessModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\BrightnessModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\BrightnessModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\BrightnessModifier - */ -class BrightnessModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\BrightnessModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\BrightnessModifier::class)] +final class BrightnessModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ColorizeModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ColorizeModifierTest.php similarity index 52% rename from tests/Drivers/Imagick/Modifiers/ColorizeModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ColorizeModifierTest.php index 5426615e..27edba59 100644 --- a/tests/Drivers/Imagick/Modifiers/ColorizeModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ColorizeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ColorizeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ColorizeModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ColorizeModifier - */ -class ColorizeModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ColorizeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ColorizeModifier::class)] +final class ColorizeModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ContainModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ContainModifierTest.php similarity index 70% rename from tests/Drivers/Imagick/Modifiers/ContainModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ContainModifierTest.php index e7701644..164d80f9 100644 --- a/tests/Drivers/Imagick/Modifiers/ContainModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ContainModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ContainModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ContainModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ContainModifier - */ -class ContainModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ContainModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ContainModifier::class)] +final class ContainModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ContrastModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ContrastModifierTest.php similarity index 51% rename from tests/Drivers/Imagick/Modifiers/ContrastModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ContrastModifierTest.php index b89472f0..fb14365a 100644 --- a/tests/Drivers/Imagick/Modifiers/ContrastModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ContrastModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ContrastModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ContrastModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ContrastModifier - */ -class ContrastModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ContrastModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ContrastModifier::class)] +final class ContrastModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/CoverModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/CoverModifierTest.php similarity index 65% rename from tests/Drivers/Imagick/Modifiers/CoverModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/CoverModifierTest.php index 46ce406e..15c70d6e 100644 --- a/tests/Drivers/Imagick/Modifiers/CoverModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/CoverModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\CoverModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\CoverModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\CoverModifier - */ -class CoverModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\CoverModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\CoverModifier::class)] +final class CoverModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/CropModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/CropModifierTest.php similarity index 74% rename from tests/Drivers/Imagick/Modifiers/CropModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/CropModifierTest.php index 5dec1161..b6b89a5e 100644 --- a/tests/Drivers/Imagick/Modifiers/CropModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/CropModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\CropModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\CropModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\CropModifier - */ -class CropModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\CropModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\CropModifier::class)] +final class CropModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php similarity index 59% rename from tests/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php index 76f790c4..bbe72ea5 100644 --- a/tests/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/DrawEllipseModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawEllipseModifier; use Intervention\Image\Geometry\Ellipse; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\DrawEllipseModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\DrawEllipseModifier - */ -class DrawEllipseModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\DrawEllipseModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\DrawEllipseModifier::class)] +final class DrawEllipseModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/DrawLineModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/DrawLineModifierTest.php similarity index 59% rename from tests/Drivers/Imagick/Modifiers/DrawLineModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/DrawLineModifierTest.php index 5e9199e6..7f52e945 100644 --- a/tests/Drivers/Imagick/Modifiers/DrawLineModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/DrawLineModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawLineModifier; use Intervention\Image\Geometry\Line; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\DrawLineModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\DrawLineModifier - */ -class DrawLineModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\DrawLineModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\DrawLineModifier::class)] +final class DrawLineModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php similarity index 54% rename from tests/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php index 962dccf2..a4a906eb 100644 --- a/tests/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/DrawPixelModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawPixelModifier; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\DrawPixelModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\DrawPixelModifier - */ -class DrawPixelModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\DrawPixelModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\DrawPixelModifier::class)] +final class DrawPixelModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php similarity index 60% rename from tests/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php index 2699ca0a..19da9a31 100644 --- a/tests/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/DrawPolygonModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawPolygonModifier; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Polygon; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\DrawPolygonModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\DrawPolygonModifier - */ -class DrawPolygonModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\DrawPolygonModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\DrawPolygonModifier::class)] +final class DrawPolygonModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php similarity index 59% rename from tests/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php index 86f255f5..7a7627f4 100644 --- a/tests/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/DrawRectangleModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\DrawRectangleModifier; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\DrawRectangleModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\DrawRectangleModifier - */ -class DrawRectangleModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\DrawRectangleModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\DrawRectangleModifier::class)] +final class DrawRectangleModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/FillModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/FillModifierTest.php similarity index 73% rename from tests/Drivers/Imagick/Modifiers/FillModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/FillModifierTest.php index cfc9b73d..3d33cb2f 100644 --- a/tests/Drivers/Imagick/Modifiers/FillModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/FillModifierTest.php @@ -2,20 +2,20 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Colors\Rgb\Color; use Intervention\Image\Modifiers\FillModifier; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\FillModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\FillModifier - */ -class FillModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\FillModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\FillModifier::class)] +final class FillModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php similarity index 58% rename from tests/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php index 7558f3fc..32c72f79 100644 --- a/tests/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/FlipFlopModifierTest.php @@ -2,21 +2,21 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\FlipModifier; use Intervention\Image\Modifiers\FlopModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\FlipModifier - * @covers \Intervention\Image\Modifiers\FlopModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\FlipModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\FlopModifier - */ -class FlipFlopModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\FlipModifier::class)] +#[CoversClass(\Intervention\Image\Modifiers\FlopModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\FlipModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\FlopModifier::class)] +final class FlipFlopModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/GammaModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/GammaModifierTest.php similarity index 51% rename from tests/Drivers/Imagick/Modifiers/GammaModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/GammaModifierTest.php index 99df34d3..675b7e9f 100644 --- a/tests/Drivers/Imagick/Modifiers/GammaModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/GammaModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\GammaModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\GammaModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\GammaModifier - */ -class GammaModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\GammaModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\GammaModifier::class)] +final class GammaModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php similarity index 51% rename from tests/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php index 73c17be2..dca2a06e 100644 --- a/tests/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/GreyscaleModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\GreyscaleModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\GreyscaleModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\GreyscaleModifier - */ -class GreyscaleModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\GreyscaleModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\GreyscaleModifier::class)] +final class GreyscaleModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/InvertModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/InvertModifierTest.php similarity index 58% rename from tests/Drivers/Imagick/Modifiers/InvertModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/InvertModifierTest.php index 034a777c..8b77ff4a 100644 --- a/tests/Drivers/Imagick/Modifiers/InvertModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/InvertModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\InvertModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\InvertModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\InvertModifier - */ -class InvertModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\InvertModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\InvertModifier::class)] +final class InvertModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/PixelateModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/PixelateModifierTest.php similarity index 64% rename from tests/Drivers/Imagick/Modifiers/PixelateModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/PixelateModifierTest.php index b7305e97..49f0ade8 100644 --- a/tests/Drivers/Imagick/Modifiers/PixelateModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/PixelateModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\PixelateModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\PixelateModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\PixelateModifier - */ -class PixelateModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\PixelateModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\PixelateModifier::class)] +final class PixelateModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/PlaceModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/PlaceModifierTest.php similarity index 52% rename from tests/Drivers/Imagick/Modifiers/PlaceModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/PlaceModifierTest.php index 0bd415dd..42668aa5 100644 --- a/tests/Drivers/Imagick/Modifiers/PlaceModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/PlaceModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\PlaceModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\BlurModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\PlaceModifier - */ -class PlaceModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\BlurModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\PlaceModifier::class)] +final class PlaceModifierTest extends BaseTestCase { use CanCreateImagickTestImage; @@ -21,7 +21,7 @@ class PlaceModifierTest extends TestCase { $image = $this->readTestImage('test.jpg'); $this->assertEquals('febc44', $image->pickColor(300, 25)->toHex()); - $image->modify(new PlaceModifier(__DIR__ . '/../../../images/circle.png', 'top-right', 0, 0)); + $image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0)); $this->assertEquals('33260e', $image->pickColor(300, 25)->toHex()); } @@ -29,7 +29,7 @@ class PlaceModifierTest extends TestCase { $image = $this->readTestImage('test.jpg'); $this->assertEquals('febc44', $image->pickColor(300, 25)->toHex()); - $image->modify(new PlaceModifier(__DIR__ . '/../../../images/circle.png', 'top-right', 0, 0, 50)); + $image->modify(new PlaceModifier($this->getTestImagePath('circle.png'), 'top-right', 0, 0, 50)); $this->assertEquals('987129', $image->pickColor(300, 25)->toHex()); } } diff --git a/tests/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php similarity index 70% rename from tests/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php index 29bc62ef..fe7d9792 100644 --- a/tests/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/QuantizeColorsModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Exceptions\InputException; use Intervention\Image\Modifiers\QuantizeColorsModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\QuantizeColorsModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\QuantizeColorsModifier - */ -class QuantizeColorsModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\QuantizeColorsModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\QuantizeColorsModifier::class)] +final class QuantizeColorsModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php similarity index 70% rename from tests/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php index c12fb96e..4f73dd0f 100644 --- a/tests/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/RemoveAnimationModifierTest.php @@ -2,19 +2,19 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Exceptions\InputException; use Intervention\Image\Modifiers\RemoveAnimationModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\RemoveAnimationModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\RemoveAnimationModifier - */ -class RemoveAnimationModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\RemoveAnimationModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\RemoveAnimationModifier::class)] +final class RemoveAnimationModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php similarity index 81% rename from tests/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php index fa96f1f4..17d27df6 100644 --- a/tests/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeCanvasModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ResizeCanvasModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ResizeCanvasModifier - */ -class ResizeCanvasModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ResizeCanvasModifier::class)] +final class ResizeCanvasModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php similarity index 75% rename from tests/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php index e52285f4..a68fb8d2 100644 --- a/tests/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ResizeCanvasRelativeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeCanvasRelativeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ResizeCanvasRelativeModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ResizeCanvasRelativeModifier - */ -class ResizeCanvasRelativeModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeCanvasRelativeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ResizeCanvasRelativeModifier::class)] +final class ResizeCanvasRelativeModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ResizeModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ResizeModifierTest.php similarity index 58% rename from tests/Drivers/Imagick/Modifiers/ResizeModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ResizeModifierTest.php index 76beb952..a38f4cd7 100644 --- a/tests/Drivers/Imagick/Modifiers/ResizeModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ResizeModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResizeModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ResizeModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ResizeModifier - */ -class ResizeModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ResizeModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ResizeModifier::class)] +final class ResizeModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/ResolutionModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/ResolutionModifierTest.php similarity index 56% rename from tests/Drivers/Imagick/Modifiers/ResolutionModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/ResolutionModifierTest.php index 6aa74e65..769d90b6 100644 --- a/tests/Drivers/Imagick/Modifiers/ResolutionModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/ResolutionModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\ResolutionModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\ResolutionModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\ResolutionModifier - */ -class ResolutionModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\ResolutionModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\ResolutionModifier::class)] +final class ResolutionModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/RotateModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/RotateModifierTest.php similarity index 55% rename from tests/Drivers/Imagick/Modifiers/RotateModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/RotateModifierTest.php index a4547b75..7e410ad7 100644 --- a/tests/Drivers/Imagick/Modifiers/RotateModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/RotateModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\RotateModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\RotateModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\RotateModifier - */ -class RotateModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\RotateModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\RotateModifier::class)] +final class RotateModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/Drivers/Imagick/Modifiers/SharpenModifierTest.php b/tests/Unit/Drivers/Imagick/Modifiers/SharpenModifierTest.php similarity index 51% rename from tests/Drivers/Imagick/Modifiers/SharpenModifierTest.php rename to tests/Unit/Drivers/Imagick/Modifiers/SharpenModifierTest.php index 06ff2f33..964c1467 100644 --- a/tests/Drivers/Imagick/Modifiers/SharpenModifierTest.php +++ b/tests/Unit/Drivers/Imagick/Modifiers/SharpenModifierTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Drivers\Imagick\Modifiers; +namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Modifiers; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Modifiers\SharpenModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Tests\Traits\CanCreateImagickTestImage; -/** - * @requires extension imagick - * @covers \Intervention\Image\Modifiers\SharpenModifier - * @covers \Intervention\Image\Drivers\Imagick\Modifiers\SharpenModifier - */ -class SharpenModifierTest extends TestCase +#[RequiresPhpExtension('imagick')] +#[CoversClass(\Intervention\Image\Modifiers\SharpenModifier::class)] +#[CoversClass(\Intervention\Image\Drivers\Imagick\Modifiers\SharpenModifier::class)] +final class SharpenModifierTest extends BaseTestCase { use CanCreateImagickTestImage; diff --git a/tests/EncodedImageTest.php b/tests/Unit/EncodedImageTest.php similarity index 83% rename from tests/EncodedImageTest.php rename to tests/Unit/EncodedImageTest.php index 5f5f9758..15bab41b 100644 --- a/tests/EncodedImageTest.php +++ b/tests/Unit/EncodedImageTest.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\EncodedImage; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\EncodedImage - */ -class EncodedImageTest extends TestCase +#[CoversClass(\Intervention\Image\EncodedImage::class)] +final class EncodedImageTest extends BaseTestCase { - public function testConstructor() + public function testConstructor(): void { $image = new EncodedImage('foo', 'bar'); $this->assertInstanceOf(EncodedImage::class, $image); diff --git a/tests/Encoders/FileExtensionEncoderTest.php b/tests/Unit/Encoders/FileExtensionEncoderTest.php similarity index 93% rename from tests/Encoders/FileExtensionEncoderTest.php rename to tests/Unit/Encoders/FileExtensionEncoderTest.php index e46ad337..01dfae23 100644 --- a/tests/Encoders/FileExtensionEncoderTest.php +++ b/tests/Unit/Encoders/FileExtensionEncoderTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Encoders; +namespace Intervention\Image\Tests\Unit\Encoders; use Intervention\Image\Encoders\AvifEncoder; use Intervention\Image\Encoders\BmpEncoder; @@ -15,10 +15,10 @@ use Intervention\Image\Encoders\PngEncoder; use Intervention\Image\Encoders\TiffEncoder; use Intervention\Image\Encoders\WebpEncoder; use Intervention\Image\Exceptions\EncoderException; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class FileExtensionEncoderTest extends TestCase +final class FileExtensionEncoderTest extends BaseTestCase { public function testEncoderByFileExtension(): void { diff --git a/tests/Encoders/SpecializableEncoderTest.php b/tests/Unit/Encoders/SpecializableEncoderTest.php similarity index 88% rename from tests/Encoders/SpecializableEncoderTest.php rename to tests/Unit/Encoders/SpecializableEncoderTest.php index a6eb7c91..f6a63f5a 100644 --- a/tests/Encoders/SpecializableEncoderTest.php +++ b/tests/Unit/Encoders/SpecializableEncoderTest.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Encoders; +namespace Intervention\Image\Tests\Unit\Encoders; use Intervention\Image\EncodedImage; use Intervention\Image\Encoders\SpecializableEncoder; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class SpecializableEncoderTest extends TestCase +final class SpecializableEncoderTest extends BaseTestCase { public function testConstructorDefault(): void { diff --git a/tests/FileTest.php b/tests/Unit/FileTest.php similarity index 81% rename from tests/FileTest.php rename to tests/Unit/FileTest.php index 4428bd26..7d407907 100644 --- a/tests/FileTest.php +++ b/tests/Unit/FileTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\File; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\File - */ -class FileTest extends TestCase +#[CoversClass(\Intervention\Image\File::class)] +final class FileTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Geometry/CircleTest.php b/tests/Unit/Geometry/CircleTest.php similarity index 90% rename from tests/Geometry/CircleTest.php rename to tests/Unit/Geometry/CircleTest.php index 597a4539..15512025 100644 --- a/tests/Geometry/CircleTest.php +++ b/tests/Unit/Geometry/CircleTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; use Intervention\Image\Geometry\Circle; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class CircleTest extends TestCase +final class CircleTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Geometry/EllipseTest.php b/tests/Unit/Geometry/EllipseTest.php similarity index 93% rename from tests/Geometry/EllipseTest.php rename to tests/Unit/Geometry/EllipseTest.php index 1cb2bf03..31e8c7bc 100644 --- a/tests/Geometry/EllipseTest.php +++ b/tests/Unit/Geometry/EllipseTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; use Intervention\Image\Geometry\Ellipse; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class EllipseTest extends TestCase +final class EllipseTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Geometry/Factories/CircleFactoryTest.php b/tests/Unit/Geometry/Factories/CircleFactoryTest.php similarity index 85% rename from tests/Geometry/Factories/CircleFactoryTest.php rename to tests/Unit/Geometry/Factories/CircleFactoryTest.php index a9e4fa19..2dbc9524 100644 --- a/tests/Geometry/Factories/CircleFactoryTest.php +++ b/tests/Unit/Geometry/Factories/CircleFactoryTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Factories; +namespace Intervention\Image\Tests\Unit\Geometry\Factories; use Intervention\Image\Geometry\Ellipse; use Intervention\Image\Geometry\Factories\CircleFactory; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class CircleFactoryTest extends TestCase +final class CircleFactoryTest extends BaseTestCase { public function testFactoryCallback(): void { diff --git a/tests/Geometry/Factories/EllipseFactoryTest.php b/tests/Unit/Geometry/Factories/EllipseFactoryTest.php similarity index 86% rename from tests/Geometry/Factories/EllipseFactoryTest.php rename to tests/Unit/Geometry/Factories/EllipseFactoryTest.php index 43cb04e6..e5e37c26 100644 --- a/tests/Geometry/Factories/EllipseFactoryTest.php +++ b/tests/Unit/Geometry/Factories/EllipseFactoryTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Factories; +namespace Intervention\Image\Tests\Unit\Geometry\Factories; use Intervention\Image\Geometry\Ellipse; use Intervention\Image\Geometry\Factories\EllipseFactory; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class EllipseFactoryTest extends TestCase +final class EllipseFactoryTest extends BaseTestCase { public function testFactoryCallback(): void { diff --git a/tests/Geometry/Factories/LineFactoryTest.php b/tests/Unit/Geometry/Factories/LineFactoryTest.php similarity index 85% rename from tests/Geometry/Factories/LineFactoryTest.php rename to tests/Unit/Geometry/Factories/LineFactoryTest.php index 6874dbc4..6870fe2f 100644 --- a/tests/Geometry/Factories/LineFactoryTest.php +++ b/tests/Unit/Geometry/Factories/LineFactoryTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Factories; +namespace Intervention\Image\Tests\Unit\Geometry\Factories; use Intervention\Image\Geometry\Factories\LineFactory; use Intervention\Image\Geometry\Line; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class LineFactoryTest extends TestCase +final class LineFactoryTest extends BaseTestCase { public function testFactoryCallback(): void { diff --git a/tests/Geometry/Factories/PolygonFactoryTest.php b/tests/Unit/Geometry/Factories/PolygonFactoryTest.php similarity index 84% rename from tests/Geometry/Factories/PolygonFactoryTest.php rename to tests/Unit/Geometry/Factories/PolygonFactoryTest.php index 8e6a5ec1..ebc41f02 100644 --- a/tests/Geometry/Factories/PolygonFactoryTest.php +++ b/tests/Unit/Geometry/Factories/PolygonFactoryTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Factories; +namespace Intervention\Image\Tests\Unit\Geometry\Factories; use Intervention\Image\Geometry\Factories\PolygonFactory; use Intervention\Image\Geometry\Polygon; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class PolygonFactoryTest extends TestCase +final class PolygonFactoryTest extends BaseTestCase { public function testFactoryCallback(): void { diff --git a/tests/Geometry/Factories/RectangleFactoryTest.php b/tests/Unit/Geometry/Factories/RectangleFactoryTest.php similarity index 86% rename from tests/Geometry/Factories/RectangleFactoryTest.php rename to tests/Unit/Geometry/Factories/RectangleFactoryTest.php index 236d0a8a..79f86959 100644 --- a/tests/Geometry/Factories/RectangleFactoryTest.php +++ b/tests/Unit/Geometry/Factories/RectangleFactoryTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Factories; +namespace Intervention\Image\Tests\Unit\Geometry\Factories; use Intervention\Image\Geometry\Factories\RectangleFactory; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Rectangle; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class RectangleFactoryTest extends TestCase +final class RectangleFactoryTest extends BaseTestCase { public function testFactoryCallback(): void { diff --git a/tests/Geometry/LineTest.php b/tests/Unit/Geometry/LineTest.php similarity index 94% rename from tests/Geometry/LineTest.php rename to tests/Unit/Geometry/LineTest.php index 0e3488dc..c0153a98 100644 --- a/tests/Geometry/LineTest.php +++ b/tests/Unit/Geometry/LineTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; use Intervention\Image\Geometry\Line; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class LineTest extends TestCase +final class LineTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Geometry/PixelTest.php b/tests/Unit/Geometry/PixelTest.php similarity index 67% rename from tests/Geometry/PixelTest.php rename to tests/Unit/Geometry/PixelTest.php index 3653e7cb..5115dde8 100644 --- a/tests/Geometry/PixelTest.php +++ b/tests/Unit/Geometry/PixelTest.php @@ -2,17 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Geometry\Pixel; use Intervention\Image\Interfaces\ColorInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -/** - * @covers \Intervention\Image\Geometry\Pixel - */ -class PixelTest extends TestCase +#[CoversClass(\Intervention\Image\Geometry\Pixel::class)] +final class PixelTest extends BaseTestCase { public function testSetGetBackground(): void { diff --git a/tests/Geometry/PointTest.php b/tests/Unit/Geometry/PointTest.php similarity index 77% rename from tests/Geometry/PointTest.php rename to tests/Unit/Geometry/PointTest.php index f9655079..002ca0a6 100644 --- a/tests/Geometry/PointTest.php +++ b/tests/Unit/Geometry/PointTest.php @@ -2,17 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Geometry\Point - */ -class PointTest extends TestCase +#[CoversClass(\Intervention\Image\Geometry\Point::class)] +final class PointTest extends BaseTestCase { - public function testConstructor() + public function testConstructor(): void { $point = new Point(); $this->assertInstanceOf(Point::class, $point); @@ -20,7 +19,7 @@ class PointTest extends TestCase $this->assertEquals(0, $point->y()); } - public function testConstructorWithParameters() + public function testConstructorWithParameters(): void { $point = new Point(40, 50); $this->assertInstanceOf(Point::class, $point); @@ -28,7 +27,7 @@ class PointTest extends TestCase $this->assertEquals(50, $point->y()); } - public function testGetSetX() + public function testGetSetX(): void { $point = new Point(0, 0); $point->setX(100); @@ -36,7 +35,7 @@ class PointTest extends TestCase $this->assertEquals(0, $point->y()); } - public function testGetSetY() + public function testGetSetY(): void { $point = new Point(0, 0); $point->setY(100); @@ -44,7 +43,7 @@ class PointTest extends TestCase $this->assertEquals(100, $point->y()); } - public function testmoveX() + public function testmoveX(): void { $point = new Point(50, 50); $point->moveX(100); @@ -52,7 +51,7 @@ class PointTest extends TestCase $this->assertEquals(50, $point->y()); } - public function testmoveY() + public function testmoveY(): void { $point = new Point(50, 50); $point->moveY(100); @@ -60,7 +59,7 @@ class PointTest extends TestCase $this->assertEquals(150, $point->y()); } - public function testSetPosition() + public function testSetPosition(): void { $point = new Point(0, 0); $point->setPosition(100, 200); @@ -68,7 +67,7 @@ class PointTest extends TestCase $this->assertEquals(200, $point->y()); } - public function testRotate() + public function testRotate(): void { $point = new Point(30, 0); $point->rotate(90, new Point(0, 0)); diff --git a/tests/Geometry/PolygonTest.php b/tests/Unit/Geometry/PolygonTest.php similarity index 98% rename from tests/Geometry/PolygonTest.php rename to tests/Unit/Geometry/PolygonTest.php index 6c3b6cab..73e5890b 100644 --- a/tests/Geometry/PolygonTest.php +++ b/tests/Unit/Geometry/PolygonTest.php @@ -2,16 +2,15 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Polygon; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Geometry\Polygon - */ -class PolygonTest extends TestCase +#[CoversClass(\Intervention\Image\Geometry\Polygon::class)] +final class PolygonTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Geometry/RectangleResizerTest.php b/tests/Unit/Geometry/RectangleResizerTest.php similarity index 96% rename from tests/Geometry/RectangleResizerTest.php rename to tests/Unit/Geometry/RectangleResizerTest.php index 6f54a9f8..f5046d1b 100644 --- a/tests/Geometry/RectangleResizerTest.php +++ b/tests/Unit/Geometry/RectangleResizerTest.php @@ -2,17 +2,17 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Rectangle; use Intervention\Image\Geometry\Tools\RectangleResizer; use PHPUnit\Framework\TestCase; -/** - * @covers \Intervention\Image\Geometry\Tools\RectangleResizer - */ -class RectangleResizerTest extends TestCase +#[CoversClass(\Intervention\Image\Geometry\Tools\RectangleResizer::class)] +final class RectangleResizerTest extends TestCase { public function testMake(): void { @@ -50,7 +50,7 @@ class RectangleResizerTest extends TestCase $this->assertInstanceOf(RectangleResizer::class, $resizer); } - public function testResize() + public function testResize(): void { $size = new Rectangle(300, 200); $resizer = new RectangleResizer(); @@ -80,7 +80,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals(10, $result->height()); } - public function testResizeDown() + public function testResizeDown(): void { // 800x600 > 1000x2000 = 800x600 $size = new Rectangle(800, 600); @@ -135,7 +135,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals(600, $result->height()); } - public function testScale() + public function testScale(): void { // 800x600 > 1000x2000 = 1000x750 $size = new Rectangle(800, 600); @@ -280,7 +280,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals(300, $result->height()); } - public function testScaleDown() + public function testScaleDown(): void { $size = new Rectangle(800, 600); $resizer = new RectangleResizer(); @@ -381,9 +381,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals(300, $result->height()); } - /** - * @dataProvider coverDataProvider - */ + #[DataProvider('coverDataProvider')] public function testCover($origin, $target, $result): void { $resizer = new RectangleResizer(); @@ -393,7 +391,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals($result->height(), $resized->height()); } - public function coverDataProvider(): array + public static function coverDataProvider(): array { return [ [new Rectangle(800, 600), new Rectangle(100, 100), new Rectangle(133, 100)], @@ -408,9 +406,7 @@ class RectangleResizerTest extends TestCase ]; } - /** - * @dataProvider containDataProvider - */ + #[DataProvider('containDataProvider')] public function testContain($origin, $target, $result): void { $resizer = new RectangleResizer(); @@ -420,7 +416,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals($result->height(), $resized->height()); } - public function containDataProvider(): array + public static function containDataProvider(): array { return [ [new Rectangle(800, 600), new Rectangle(100, 100), new Rectangle(100, 75)], @@ -435,9 +431,7 @@ class RectangleResizerTest extends TestCase ]; } - /** - * @dataProvider cropDataProvider - */ + #[DataProvider('cropDataProvider')] public function testCrop($origin, $target, $position, $result): void { $resizer = new RectangleResizer(); @@ -449,7 +443,7 @@ class RectangleResizerTest extends TestCase $this->assertEquals($result->pivot()->y(), $resized->pivot()->y()); } - public function cropDataProvider(): array + public static function cropDataProvider(): array { return [ [new Rectangle(800, 600), new Rectangle(100, 100), 'center', new Rectangle(100, 100, new Point(350, 250))], diff --git a/tests/Geometry/RectangleTest.php b/tests/Unit/Geometry/RectangleTest.php similarity index 97% rename from tests/Geometry/RectangleTest.php rename to tests/Unit/Geometry/RectangleTest.php index 832fe9d8..ff61fdfe 100644 --- a/tests/Geometry/RectangleTest.php +++ b/tests/Unit/Geometry/RectangleTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry; +namespace Intervention\Image\Tests\Unit\Geometry; use Intervention\Image\Geometry\Point; use Intervention\Image\Geometry\Rectangle; use Intervention\Image\Interfaces\PointInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class RectangleTest extends TestCase +final class RectangleTest extends BaseTestCase { public function testConstructor(): void { @@ -50,7 +50,7 @@ class RectangleTest extends TestCase $this->assertEquals(800, $rectangle->height()); } - public function testGetAspectRatio() + public function testGetAspectRatio(): void { $size = new Rectangle(800, 600); $this->assertEquals(1.333, round($size->aspectRatio(), 3)); @@ -62,7 +62,7 @@ class RectangleTest extends TestCase $this->assertEquals(1.778, round($size->aspectRatio(), 3)); } - public function testFitsInto() + public function testFitsInto(): void { $box = new Rectangle(800, 600); $fits = $box->fitsInto(new Rectangle(100, 100)); @@ -93,7 +93,7 @@ class RectangleTest extends TestCase $this->assertFalse($fits); } - public function testIsLandscape() + public function testIsLandscape(): void { $box = new Rectangle(100, 100); $this->assertFalse($box->isLandscape()); @@ -105,7 +105,7 @@ class RectangleTest extends TestCase $this->assertTrue($box->isLandscape()); } - public function testIsPortrait() + public function testIsPortrait(): void { $box = new Rectangle(100, 100); $this->assertFalse($box->isPortrait()); diff --git a/tests/Geometry/Traits/HasBackgroundColorTest.php b/tests/Unit/Geometry/Traits/HasBackgroundColorTest.php similarity index 79% rename from tests/Geometry/Traits/HasBackgroundColorTest.php rename to tests/Unit/Geometry/Traits/HasBackgroundColorTest.php index 316ea705..dea09bd1 100644 --- a/tests/Geometry/Traits/HasBackgroundColorTest.php +++ b/tests/Unit/Geometry/Traits/HasBackgroundColorTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Traits; +namespace Intervention\Image\Tests\Unit\Geometry\Traits; use Intervention\Image\Geometry\Traits\HasBackgroundColor; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class HasBackgroundColorTest extends TestCase +final class HasBackgroundColorTest extends BaseTestCase { public function getTestObject(): object { diff --git a/tests/Geometry/Traits/HasBorderTest.php b/tests/Unit/Geometry/Traits/HasBorderTest.php similarity index 91% rename from tests/Geometry/Traits/HasBorderTest.php rename to tests/Unit/Geometry/Traits/HasBorderTest.php index 7218f1a6..2d311612 100644 --- a/tests/Geometry/Traits/HasBorderTest.php +++ b/tests/Unit/Geometry/Traits/HasBorderTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Geometry\Traits; +namespace Intervention\Image\Tests\Unit\Geometry\Traits; use Intervention\Image\Geometry\Traits\HasBorder; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class HasBorderTest extends TestCase +final class HasBorderTest extends BaseTestCase { public function getTestObject(): object { diff --git a/tests/ImageManagerTest.php b/tests/Unit/ImageManagerTest.php similarity index 65% rename from tests/ImageManagerTest.php rename to tests/Unit/ImageManagerTest.php index 1a1d2680..920b5ba9 100644 --- a/tests/ImageManagerTest.php +++ b/tests/Unit/ImageManagerTest.php @@ -2,21 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Intervention\Image\Decoders\BinaryImageDecoder; use Intervention\Image\Decoders\FilePathImageDecoder; use Intervention\Image\Drivers\Gd\Driver as GdDriver; use Intervention\Image\Drivers\Imagick\Driver as ImagickDriver; use Intervention\Image\ImageManager; use Intervention\Image\Interfaces\ImageInterface; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\ImageManager - */ -class ImageManagerTest extends TestCase +#[CoversClass(\Intervention\Image\ImageManager::class)] +final class ImageManagerTest extends BaseTestCase { - public function testConstructor() + public function testConstructor(): void { $manager = new ImageManager(new GdDriver()); $this->assertInstanceOf(ImageManager::class, $manager); @@ -43,15 +44,15 @@ class ImageManagerTest extends TestCase $this->assertInstanceOf(ImageManager::class, $manager); } - /** @requires extension gd */ - public function testCreateGd() + #[RequiresPhpExtension('gd')] + public function testCreateGd(): void { $manager = new ImageManager(GdDriver::class); $image = $manager->create(5, 4); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testAnimateGd(): void { $manager = new ImageManager(GdDriver::class); @@ -61,71 +62,74 @@ class ImageManagerTest extends TestCase $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ - public function testReadGd() + #[RequiresPhpExtension('gd')] + public function testReadGd(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif'); + $image = $manager->read($this->getTestImagePath('red.gif')); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithDecoderClassname(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', FilePathImageDecoder::class); + $image = $manager->read($this->getTestImagePath('red.gif'), FilePathImageDecoder::class); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithDecoderInstance(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', new FilePathImageDecoder()); + $image = $manager->read($this->getTestImagePath('red.gif'), new FilePathImageDecoder()); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithDecoderClassnameArray(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [FilePathImageDecoder::class]); + $image = $manager->read($this->getTestImagePath('red.gif'), [FilePathImageDecoder::class]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithDecoderInstanceArray(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [new FilePathImageDecoder()]); + $image = $manager->read($this->getTestImagePath('red.gif'), [new FilePathImageDecoder()]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithDecoderInstanceArrayMultiple(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [new BinaryImageDecoder(), new FilePathImageDecoder()]); + $image = $manager->read($this->getTestImagePath('red.gif'), [ + new BinaryImageDecoder(), + new FilePathImageDecoder(), + ]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension gd */ + #[RequiresPhpExtension('gd')] public function testReadGdWithRotationAdjustment(): void { $manager = new ImageManager(GdDriver::class); - $image = $manager->read(__DIR__ . '/images/orientation.jpg'); + $image = $manager->read($this->getTestImagePath('orientation.jpg')); $this->assertColor(255, 255, 255, 255, $image->pickColor(0, 24)); } - /** @requires extension imagick */ - public function testCreateImagick() + #[RequiresPhpExtension('imagick')] + public function testCreateImagick(): void { $manager = new ImageManager(ImagickDriver::class); $image = $manager->create(5, 4); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testAnimateImagick(): void { $manager = new ImageManager(ImagickDriver::class); @@ -135,59 +139,62 @@ class ImageManagerTest extends TestCase $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ - public function testReadImagick() + #[RequiresPhpExtension('imagick')] + public function testReadImagick(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif'); + $image = $manager->read($this->getTestImagePath('red.gif')); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithDecoderClassname(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', FilePathImageDecoder::class); + $image = $manager->read($this->getTestImagePath('red.gif'), FilePathImageDecoder::class); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithDecoderInstance(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', new FilePathImageDecoder()); + $image = $manager->read($this->getTestImagePath('red.gif'), new FilePathImageDecoder()); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithDecoderClassnameArray(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [FilePathImageDecoder::class]); + $image = $manager->read($this->getTestImagePath('red.gif'), [FilePathImageDecoder::class]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithDecoderInstanceArray(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [new FilePathImageDecoder()]); + $image = $manager->read($this->getTestImagePath('red.gif'), [new FilePathImageDecoder()]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithDecoderInstanceArrayMultiple(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/red.gif', [new BinaryImageDecoder(), new FilePathImageDecoder()]); + $image = $manager->read($this->getTestImagePath('red.gif'), [ + new BinaryImageDecoder(), + new FilePathImageDecoder(), + ]); $this->assertInstanceOf(ImageInterface::class, $image); } - /** @requires extension imagick */ + #[RequiresPhpExtension('imagick')] public function testReadImagickWithRotationAdjustment(): void { $manager = new ImageManager(ImagickDriver::class); - $image = $manager->read(__DIR__ . '/images/orientation.jpg'); + $image = $manager->read($this->getTestImagePath('orientation.jpg')); $this->assertColor(255, 255, 255, 255, $image->pickColor(0, 24)); } } diff --git a/tests/ModifierStackTest.php b/tests/Unit/ModifierStackTest.php similarity index 83% rename from tests/ModifierStackTest.php rename to tests/Unit/ModifierStackTest.php index 6acb2336..8d63f423 100644 --- a/tests/ModifierStackTest.php +++ b/tests/Unit/ModifierStackTest.php @@ -2,18 +2,18 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Modifiers\GreyscaleModifier; use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Interfaces\ModifierInterface; use Intervention\Image\ModifierStack; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -/** - * @covers \Intervention\Image\ModifierStack - */ -class ModifierStackTest extends TestCase +#[CoversClass(\Intervention\Image\ModifierStack::class)] +final class ModifierStackTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Modifiers/ColorspaceModifierTest.php b/tests/Unit/Modifiers/ColorspaceModifierTest.php similarity index 85% rename from tests/Modifiers/ColorspaceModifierTest.php rename to tests/Unit/Modifiers/ColorspaceModifierTest.php index c57bdf11..d5cfc12e 100644 --- a/tests/Modifiers/ColorspaceModifierTest.php +++ b/tests/Unit/Modifiers/ColorspaceModifierTest.php @@ -2,15 +2,15 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Modifiers; +namespace Intervention\Image\Tests\Unit\Modifiers; use Intervention\Image\Colors\Rgb\Colorspace; use Intervention\Image\Exceptions\NotSupportedException; use Intervention\Image\Interfaces\ColorspaceInterface; use Intervention\Image\Modifiers\ColorspaceModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; -class ColorspaceModifierTest extends TestCase +final class ColorspaceModifierTest extends BaseTestCase { public function testTargetColorspace(): void { diff --git a/tests/Modifiers/PadModifierTest.php b/tests/Unit/Modifiers/PadModifierTest.php similarity index 80% rename from tests/Modifiers/PadModifierTest.php rename to tests/Unit/Modifiers/PadModifierTest.php index 36c01ceb..777c7752 100644 --- a/tests/Modifiers/PadModifierTest.php +++ b/tests/Unit/Modifiers/PadModifierTest.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Modifiers; +namespace Intervention\Image\Tests\Unit\Modifiers; use Intervention\Image\Geometry\Rectangle; use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Interfaces\SizeInterface; use Intervention\Image\Modifiers\PadModifier; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class PadModifierTest extends TestCase +final class PadModifierTest extends BaseTestCase { public function testGetCropSize(): void { diff --git a/tests/Modifiers/SpecializableModifierTest.php b/tests/Unit/Modifiers/SpecializableModifierTest.php similarity index 77% rename from tests/Modifiers/SpecializableModifierTest.php rename to tests/Unit/Modifiers/SpecializableModifierTest.php index 075b44fc..603cbd26 100644 --- a/tests/Modifiers/SpecializableModifierTest.php +++ b/tests/Unit/Modifiers/SpecializableModifierTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Modifiers; +namespace Intervention\Image\Tests\Unit\Modifiers; use Intervention\Image\Modifiers\SpecializableModifier; use Intervention\Image\Interfaces\ImageInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Mockery; -class SpecializableModifierTest extends TestCase +final class SpecializableModifierTest extends BaseTestCase { public function testApply(): void { diff --git a/tests/OriginTest.php b/tests/Unit/OriginTest.php similarity index 69% rename from tests/OriginTest.php rename to tests/Unit/OriginTest.php index 88ec9673..b3eec4d2 100644 --- a/tests/OriginTest.php +++ b/tests/Unit/OriginTest.php @@ -2,21 +2,22 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; use Intervention\Image\Origin; +use Intervention\Image\Tests\BaseTestCase; -class OriginTest extends TestCase +final class OriginTest extends BaseTestCase { public function testFilePath(): void { - $origin = new Origin('image/jpeg', __DIR__ . '/tests/images/example.jpg'); - $this->assertEquals(__DIR__ . '/tests/images/example.jpg', $origin->filePath()); + $origin = new Origin('image/jpeg', $this->getTestImagePath('example.jpg')); + $this->assertEquals($this->getTestImagePath('example.jpg'), $origin->filePath()); } public function testFileExtension(): void { - $origin = new Origin('image/jpeg', __DIR__ . '/tests/images/example.jpg'); + $origin = new Origin('image/jpeg', $this->getTestImagePath('example.jpg')); $this->assertEquals('jpg', $origin->fileExtension()); $origin = new Origin('image/jpeg'); diff --git a/tests/ResolutionTest.php b/tests/Unit/ResolutionTest.php similarity index 86% rename from tests/ResolutionTest.php rename to tests/Unit/ResolutionTest.php index 4f8ae2f0..e0e4c844 100644 --- a/tests/ResolutionTest.php +++ b/tests/Unit/ResolutionTest.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests; +namespace Intervention\Image\Tests\Unit; +use PHPUnit\Framework\Attributes\CoversClass; use Intervention\Image\Resolution; +use Intervention\Image\Tests\BaseTestCase; -/** - * @covers \Intervention\Image\Resolution - */ -class ResolutionTest extends TestCase +#[CoversClass(\Intervention\Image\Resolution::class)] +final class ResolutionTest extends BaseTestCase { - public function testConstructor() + public function testConstructor(): void { $resolution = new Resolution(1, 2); $this->assertInstanceOf(Resolution::class, $resolution); diff --git a/tests/Typography/FontFactoryTest.php b/tests/Unit/Typography/FontFactoryTest.php similarity index 90% rename from tests/Typography/FontFactoryTest.php rename to tests/Unit/Typography/FontFactoryTest.php index af98747c..3c614af3 100644 --- a/tests/Typography/FontFactoryTest.php +++ b/tests/Unit/Typography/FontFactoryTest.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Typography; +namespace Intervention\Image\Tests\Unit\Typography; use Intervention\Image\Interfaces\FontInterface; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\Font; use Intervention\Image\Typography\FontFactory; -class FontFactoryTest extends TestCase +final class FontFactoryTest extends BaseTestCase { public function testBuildWithFont(): void { diff --git a/tests/Typography/FontTest.php b/tests/Unit/Typography/FontTest.php similarity index 94% rename from tests/Typography/FontTest.php rename to tests/Unit/Typography/FontTest.php index e45f372d..3ef55418 100644 --- a/tests/Typography/FontTest.php +++ b/tests/Unit/Typography/FontTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Typography; +namespace Intervention\Image\Tests\Unit\Typography; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\Font; -class FontTest extends TestCase +final class FontTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Typography/LineTest.php b/tests/Unit/Typography/LineTest.php similarity index 91% rename from tests/Typography/LineTest.php rename to tests/Unit/Typography/LineTest.php index 69b7413f..80a91b4d 100644 --- a/tests/Typography/LineTest.php +++ b/tests/Unit/Typography/LineTest.php @@ -2,13 +2,13 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Typography; +namespace Intervention\Image\Tests\Unit\Typography; use Intervention\Image\Geometry\Point; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\Line; -class LineTest extends TestCase +final class LineTest extends BaseTestCase { public function testConstructor(): void { diff --git a/tests/Typography/TextBlockTest.php b/tests/Unit/Typography/TextBlockTest.php similarity index 83% rename from tests/Typography/TextBlockTest.php rename to tests/Unit/Typography/TextBlockTest.php index c4245f1a..2ed9329a 100644 --- a/tests/Typography/TextBlockTest.php +++ b/tests/Unit/Typography/TextBlockTest.php @@ -2,16 +2,16 @@ declare(strict_types=1); -namespace Intervention\Image\Tests\Typography; +namespace Intervention\Image\Tests\Unit\Typography; -use Intervention\Image\Tests\TestCase; +use Intervention\Image\Tests\BaseTestCase; use Intervention\Image\Typography\TextBlock; -class TextBlockTest extends TestCase +final class TextBlockTest extends BaseTestCase { protected TextBlock $block; - public function setUp(): void + protected function setUp(): void { $this->block = new TextBlock(<<