trismegiste / phpunit-assert-picture
Useful assertions on pictures
dev-master
2022-10-11 09:35 UTC
Requires
- php: >=8.1
Requires (Dev)
- ext-gd: *
- phpunit/phpunit: ^9.5
- thiagoalessio/tesseract_ocr: ^2.12
This package is not auto-updated.
Last update: 2024-11-06 18:10:30 UTC
README
New PhpUnit Assertions for testing Pictures (size, type, text content...)
What
It's a set of Traits for adding new assertions on pictures
How
Add the library :
$ composer require --dev trismegiste/phpunit-assert-picture
Use the traits in your TestCase subclass :
class MyPictureTest extends \PHPUnit\Framework\TestCase { use \Trismegiste\PhpunitAssertPicture\ImageSpecs; use \Trismegiste\PhpunitAssertPicture\TextContent; // ... your tests
Examples
Here's a picture :
Image attributes
We can call assertions with the full pathname of the picture or with a \GdImage instance :
/** @dataProvider getFixture */ public function testPicture(string $pic) { // assertions on width and height : $this->assertDimension(128, 256, $pic); // assetion on mime-type : $this->assertMimeType('image/png', $pic); // assertion on orientation mode : $this->assertPortrait($pic); }
Text contents
Assertion on text content inside the picture thanks to OCR :
$this->assertPictureContainsString('YOLO', $pic);
Dependencies
- Tesseract
- GD2
Contribute
Feel free to contribute with new fancy features