%PDF- %PDF-
Direktori : /var/www/html/hr/api/vendor/league/glide/tests/Manipulators/ |
Current File : /var/www/html/hr/api/vendor/league/glide/tests/Manipulators/WatermarkTest.php |
<?php namespace League\Glide\Manipulators; use Mockery; class WatermarkTest extends \PHPUnit_Framework_TestCase { private $manipulator; public function setUp() { $this->manipulator = new Watermark( Mockery::mock('League\Flysystem\FilesystemInterface') ); } public function tearDown() { Mockery::close(); } public function testCreateInstance() { $this->assertInstanceOf('League\Glide\Manipulators\Watermark', $this->manipulator); } public function testSetWatermarks() { $this->manipulator->setWatermarks(Mockery::mock('League\Flysystem\FilesystemInterface')); $this->assertInstanceOf('League\Flysystem\FilesystemInterface', $this->manipulator->getWatermarks()); } public function testGetWatermarks() { $this->assertInstanceOf('League\Flysystem\FilesystemInterface', $this->manipulator->getWatermarks()); } public function testSetWatermarksPathPrefix() { $this->manipulator->setWatermarksPathPrefix('watermarks/'); $this->assertEquals('watermarks', $this->manipulator->getWatermarksPathPrefix()); } public function testGetWatermarksPathPrefix() { $this->assertEquals('', $this->manipulator->getWatermarksPathPrefix()); } public function testRun() { $image = Mockery::mock('Intervention\Image\Image', function ($mock) { $mock->shouldReceive('insert')->once(); $mock->shouldReceive('getDriver')->andReturn(Mockery::mock('Intervention\Image\AbstractDriver', function ($mock) { $mock->shouldReceive('init')->with('content')->andReturn(Mockery::mock('Intervention\Image\Image', function ($mock) { $mock->shouldReceive('width')->andReturn(0)->once(); $mock->shouldReceive('resize')->once(); }))->once(); }))->once(); }); $this->manipulator->setWatermarks(Mockery::mock('League\Flysystem\FilesystemInterface', function ($watermarks) { $watermarks->shouldReceive('has')->with('image.jpg')->andReturn(true)->once(); $watermarks->shouldReceive('read')->with('image.jpg')->andReturn('content')->once(); })); $this->manipulator->setParams([ 'mark' => 'image.jpg', 'markw' => '100', 'markh' => '100', 'markpad' => '10', ]); $this->assertInstanceOf( 'Intervention\Image\Image', $this->manipulator->run($image) ); } public function testGetImage() { $this->manipulator->getWatermarks() ->shouldReceive('has') ->with('watermarks/image.jpg') ->andReturn(true) ->once() ->shouldReceive('read') ->with('watermarks/image.jpg') ->andReturn('content') ->once(); $this->manipulator->setWatermarksPathPrefix('watermarks'); $driver = Mockery::mock('Intervention\Image\AbstractDriver'); $driver->shouldReceive('init') ->with('content') ->andReturn(Mockery::mock('Intervention\Image\Image')) ->once(); $image = Mockery::mock('Intervention\Image\Image'); $image->shouldReceive('getDriver') ->andReturn($driver) ->once(); $this->manipulator->setParams(['mark' => 'image.jpg'])->getImage($image); } public function testGetImageWithUnreadableSource() { $this->manipulator->getWatermarks() ->shouldReceive('has') ->with('image.jpg') ->andReturn(true) ->once() ->shouldReceive('read') ->with('image.jpg') ->andReturn(false) ->once(); $image = Mockery::mock('Intervention\Image\Image'); $this->setExpectedException( 'League\Glide\Filesystem\FilesystemException', 'Could not read the image `image.jpg`.' ); $this->manipulator->setParams(['mark' => 'image.jpg'])->getImage($image); } public function testGetImageWithoutMarkParam() { $image = Mockery::mock('Intervention\Image\Image'); $this->assertNull($this->manipulator->getImage($image)); } public function testGetImageWithEmptyMarkParam() { $image = Mockery::mock('Intervention\Image\Image'); $this->assertNull($this->manipulator->setParams(['mark' => ''])->getImage($image)); } public function testGetImageWithoutWatermarksFilesystem() { $this->manipulator->setWatermarks(null); $image = Mockery::mock('Intervention\Image\Image'); $this->assertNull($this->manipulator->setParams(['mark' => 'image.jpg'])->getImage($image)); } public function testGetDimension() { $image = Mockery::mock('Intervention\Image\Image'); $image->shouldReceive('width')->andReturn(2000); $image->shouldReceive('height')->andReturn(1000); $this->assertSame(300.0, $this->manipulator->setParams(['w' => '300'])->getDimension($image, 'w')); $this->assertSame(300.0, $this->manipulator->setParams(['w' => 300])->getDimension($image, 'w')); $this->assertSame(1000.0, $this->manipulator->setParams(['w' => '50w'])->getDimension($image, 'w')); $this->assertSame(500.0, $this->manipulator->setParams(['w' => '50h'])->getDimension($image, 'w')); $this->assertSame(null, $this->manipulator->setParams(['w' => '101h'])->getDimension($image, 'w')); $this->assertSame(null, $this->manipulator->setParams(['w' => -1])->getDimension($image, 'w')); $this->assertSame(null, $this->manipulator->setParams(['w' => ''])->getDimension($image, 'w')); } public function testGetDpr() { $this->assertSame(1.0, $this->manipulator->setParams(['dpr' => 'invalid'])->getDpr()); $this->assertSame(1.0, $this->manipulator->setParams(['dpr' => '-1'])->getDpr()); $this->assertSame(1.0, $this->manipulator->setParams(['dpr' => '9'])->getDpr()); $this->assertSame(2.0, $this->manipulator->setParams(['dpr' => '2'])->getDpr()); } public function testGetFit() { $this->assertSame('contain', $this->manipulator->setParams(['markfit' => 'contain'])->getFit()); $this->assertSame('max', $this->manipulator->setParams(['markfit' => 'max'])->getFit()); $this->assertSame('stretch', $this->manipulator->setParams(['markfit' => 'stretch'])->getFit()); $this->assertSame('crop', $this->manipulator->setParams(['markfit' => 'crop'])->getFit()); $this->assertSame('crop-top-left', $this->manipulator->setParams(['markfit' => 'crop-top-left'])->getFit()); $this->assertSame('crop-top', $this->manipulator->setParams(['markfit' => 'crop-top'])->getFit()); $this->assertSame('crop-top-right', $this->manipulator->setParams(['markfit' => 'crop-top-right'])->getFit()); $this->assertSame('crop-left', $this->manipulator->setParams(['markfit' => 'crop-left'])->getFit()); $this->assertSame('crop-center', $this->manipulator->setParams(['markfit' => 'crop-center'])->getFit()); $this->assertSame('crop-right', $this->manipulator->setParams(['markfit' => 'crop-right'])->getFit()); $this->assertSame('crop-bottom-left', $this->manipulator->setParams(['markfit' => 'crop-bottom-left'])->getFit()); $this->assertSame('crop-bottom', $this->manipulator->setParams(['markfit' => 'crop-bottom'])->getFit()); $this->assertSame('crop-bottom-right', $this->manipulator->setParams(['markfit' => 'crop-bottom-right'])->getFit()); $this->assertSame(null, $this->manipulator->setParams(['markfit' => null])->getFit()); $this->assertSame(null, $this->manipulator->setParams(['markfit' => 'invalid'])->getFit()); } public function testGetPosition() { $this->assertSame('top-left', $this->manipulator->setParams(['markpos' => 'top-left'])->getPosition()); $this->assertSame('top', $this->manipulator->setParams(['markpos' => 'top'])->getPosition()); $this->assertSame('top-right', $this->manipulator->setParams(['markpos' => 'top-right'])->getPosition()); $this->assertSame('left', $this->manipulator->setParams(['markpos' => 'left'])->getPosition()); $this->assertSame('center', $this->manipulator->setParams(['markpos' => 'center'])->getPosition()); $this->assertSame('right', $this->manipulator->setParams(['markpos' => 'right'])->getPosition()); $this->assertSame('bottom-left', $this->manipulator->setParams(['markpos' => 'bottom-left'])->getPosition()); $this->assertSame('bottom', $this->manipulator->setParams(['markpos' => 'bottom'])->getPosition()); $this->assertSame('bottom-right', $this->manipulator->setParams(['markpos' => 'bottom-right'])->getPosition()); $this->assertSame('bottom-right', $this->manipulator->setParams([])->getPosition()); $this->assertSame('bottom-right', $this->manipulator->setParams(['markpos' => 'invalid'])->getPosition()); } public function testGetAlpha() { $this->assertSame(100, $this->manipulator->setParams(['markalpha' => 'invalid'])->getAlpha()); $this->assertSame(100, $this->manipulator->setParams(['markalpha' => 255])->getAlpha()); $this->assertSame(100, $this->manipulator->setParams(['markalpha' => -1])->getAlpha()); $this->assertSame(65, $this->manipulator->setParams(['markalpha' => '65'])->getAlpha()); $this->assertSame(65, $this->manipulator->setParams(['markalpha' => 65])->getAlpha()); } }