1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-28 08:09:54 +02:00

Fixed bug in ModifierStack, Added tests for apply method

This commit is contained in:
Oliver Vogel
2022-02-11 19:54:13 +01:00
parent 9d2318d828
commit 03431a2155
2 changed files with 19 additions and 0 deletions

View File

@@ -17,6 +17,8 @@ class ModifierStack implements ModifierInterface
foreach ($this->modifiers as $modifier) {
$modifier->apply($image);
}
return $image;
}
public function push(ModifierInterface $modifier): self

View File

@@ -3,7 +3,9 @@
namespace Intervention\Image\Tests;
use Intervention\Image\Drivers\Gd\Modifiers\GreyscaleModifier;
use Intervention\Image\Interfaces\ImageInterface;
use Intervention\Image\ModifierStack;
use Mockery;
/**
* @covers \Intervention\Image\ModifierStack
@@ -22,4 +24,19 @@ class ModifierStackTest extends TestCase
$result = $stack->push(new GreyscaleModifier());
$this->assertInstanceOf(ModifierStack::class, $result);
}
public function testApply(): void
{
$image = Mockery::mock(ImageInterface::class);
$modifier1 = Mockery::mock(AbstractColor::class)->makePartial();
$modifier1->shouldReceive('apply')->once()->with($image);
$modifier2 = Mockery::mock(AbstractColor::class)->makePartial();
$modifier2->shouldReceive('apply')->once()->with($image);
$stack = new ModifierStack([$modifier1, $modifier2]);
$result = $stack->apply($image);
$this->assertInstanceOf(ImageInterface::class, $image);
}
}