diff --git a/tests/resources/disk-a/kitten-3.gif b/tests/resources/disk-a/kitten-3.gif new file mode 100644 index 000000000..9e460bcff Binary files /dev/null and b/tests/resources/disk-a/kitten-3.gif differ diff --git a/tests/resources/resize/100x100-q30.jpg b/tests/resources/resize/100x100-q30.jpg new file mode 100644 index 000000000..67cfd6b95 Binary files /dev/null and b/tests/resources/resize/100x100-q30.jpg differ diff --git a/tests/resources/resize/100x100.gif b/tests/resources/resize/100x100.gif new file mode 100644 index 000000000..30ef716cd Binary files /dev/null and b/tests/resources/resize/100x100.gif differ diff --git a/tests/resources/resize/100x100.jpg b/tests/resources/resize/100x100.jpg new file mode 100644 index 000000000..24c694a77 Binary files /dev/null and b/tests/resources/resize/100x100.jpg differ diff --git a/tests/resources/resize/100x100.png b/tests/resources/resize/100x100.png new file mode 100644 index 000000000..b66a6a287 Binary files /dev/null and b/tests/resources/resize/100x100.png differ diff --git a/tests/resources/resize/100x100.webp b/tests/resources/resize/100x100.webp new file mode 100644 index 000000000..1d29b20e9 Binary files /dev/null and b/tests/resources/resize/100x100.webp differ diff --git a/tests/resources/resize/100x400.jpg b/tests/resources/resize/100x400.jpg new file mode 100644 index 000000000..8c33ac005 Binary files /dev/null and b/tests/resources/resize/100x400.jpg differ diff --git a/tests/resources/resize/400x100.jpg b/tests/resources/resize/400x100.jpg new file mode 100644 index 000000000..447e2490f Binary files /dev/null and b/tests/resources/resize/400x100.jpg differ diff --git a/tests/unit/Resize/ResizeTest.php b/tests/unit/Resize/ResizeTest.php new file mode 100644 index 000000000..b384ff1bd --- /dev/null +++ b/tests/unit/Resize/ResizeTest.php @@ -0,0 +1,132 @@ +crop(100, 100); + + $resize->save($target, 'jpg', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\md5(\file_get_contents($target)), \md5(\file_get_contents($original))); + + \unlink($target); + } + + public function testCrop100x400() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-1.jpg')); + $target = __DIR__.'/100x400.jpg'; + $original = __DIR__.'/../../resources/resize/100x400.jpg'; + + $resize->crop(100, 400); + + $resize->save($target, 'jpg', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\md5(\file_get_contents($target)), \md5(\file_get_contents($original))); + + \unlink($target); + } + + public function testCrop400x100() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-1.jpg')); + $target = __DIR__.'/400x100.jpg'; + $original = __DIR__.'/../../resources/resize/400x100.jpg'; + + $resize->crop(400, 100); + + $resize->save($target, 'jpg', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\md5(\file_get_contents($target)), \md5(\file_get_contents($original))); + + \unlink($target); + } + + public function testCrop100x100WEBP() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-1.jpg')); + $target = __DIR__.'/100x100.webp'; + $original = __DIR__.'/../../resources/resize/100x100.webp'; + + $resize->crop(100, 100); + + $resize->save($target, 'webp', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\md5(\file_get_contents($target)), \md5(\file_get_contents($original))); + + \unlink($target); + } + + public function testCrop100x100PNG() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-1.jpg')); + $target = __DIR__.'/100x100.png'; + $original = __DIR__.'/../../resources/resize/100x100.png'; + + $resize->crop(100, 100); + + $resize->save($target, 'png', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\filesize($target), \filesize($original)); + $this->assertEquals(\mime_content_type($target), \mime_content_type($original)); + + \unlink($target); + } + + public function testCrop100x100PNGQuality30() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-1.jpg')); + $target = __DIR__.'/100x100-q30.jpg'; + $original = __DIR__.'/../../resources/resize/100x100-q30.jpg'; + + $resize->crop(100, 100); + + $resize->save($target, 'jpg', 10); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\filesize($target), \filesize($original)); + $this->assertEquals(\mime_content_type($target), \mime_content_type($original)); + + \unlink($target); + } + + public function testCrop100x100GIF() + { + $resize = new Resize(\file_get_contents(__DIR__ . '/../../resources/disk-a/kitten-3.gif')); + $target = __DIR__.'/100x100.gif'; + $original = __DIR__.'/../../resources/resize/100x100.gif'; + + $resize->crop(100, 100); + + $resize->save($target, 'gif', 100); + + $this->assertEquals(is_readable($target), true); + $this->assertEquals(\filesize($target), \filesize($original)); + $this->assertEquals(\mime_content_type($target), \mime_content_type($original)); + + \unlink($target); + } +} \ No newline at end of file