瀏覽代碼

Image tests: validate saveJpeg() via exif_imagetype() and getWidth()

Fabian Peter Hammerle 7 年之前
父節點
當前提交
50bcd9b79c
共有 5 個文件被更改,包括 15 次插入3 次删除
  1. 15 3
      tests/ImageTest.php
  2. 二進制
      tests/data/chainring-3008p.jpg
  3. 二進制
      tests/data/chainring-rotated-left.jpg
  4. 二進制
      tests/data/chainring-rotated-right.jpg
  5. 二進制
      tests/data/chainring-saved.jpg

+ 15 - 3
tests/ImageTest.php

@@ -201,12 +201,24 @@ class ImageTest extends \PHPUnit_Framework_TestCase
         }
     }
 
-    public function testSaveJpeg()
+    public function saveJpegProvider()
     {
-        $img = Image::fromFile(__DIR__ . '/data/chainring.jpg');
+        return [
+            [__DIR__ . '/data/chainring.jpg'],
+            [__DIR__ . '/data/color.png'],
+            ];
+    }
+
+    /**
+     * @dataProvider saveJpegProvider
+     */
+    public function testSaveJpeg($source_path)
+    {
+        $img = Image::fromFile($source_path);
         $tmp_path = tempnam(sys_get_temp_dir(), 'image');
         $img->saveJpeg($tmp_path);
-        $this->assertFileEquals(__DIR__ . '/data/chainring-saved.jpg', $tmp_path);
+        $this->assertSame(IMAGETYPE_JPEG, exif_imagetype($tmp_path));
+        $this->assertSame($img->width, Image::fromFile($tmp_path)->width);
         unlink($tmp_path);
     }
 }

二進制
tests/data/chainring-3008p.jpg


二進制
tests/data/chainring-rotated-left.jpg


二進制
tests/data/chainring-rotated-right.jpg


二進制
tests/data/chainring-saved.jpg