ImageTest.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace fphammerle\helpers\tests;
  3. use fphammerle\helpers\Image;
  4. class ImageTest extends \PHPUnit_Framework_TestCase
  5. {
  6. public function rotateProvider()
  7. {
  8. return [
  9. [__DIR__ . '/data/chainring.jpg', 90, __DIR__ . '/data/chainring-rotated-left.jpg'],
  10. [__DIR__ . '/data/chainring.jpg', 270, __DIR__ . '/data/chainring-rotated-right.jpg'],
  11. ];
  12. }
  13. /**
  14. * @dataProvider rotateProvider
  15. */
  16. public function testRotate($source_path, $angle, $expected_path)
  17. {
  18. $img = Image::fromFile($source_path);
  19. $tmp_path = tempnam(sys_get_temp_dir(), 'image');
  20. $img->rotate($angle);
  21. $img->saveJpeg($tmp_path);
  22. $this->assertFileEquals($expected_path, $tmp_path);
  23. unlink($tmp_path);
  24. }
  25. public function testSaveJpeg()
  26. {
  27. $img = Image::fromFile(__DIR__ . '/data/chainring.jpg');
  28. $tmp_path = tempnam(sys_get_temp_dir(), 'image');
  29. $img->saveJpeg($tmp_path);
  30. $this->assertFileEquals(__DIR__ . '/data/chainring-saved.jpg', $tmp_path);
  31. unlink($tmp_path);
  32. }
  33. }