diff --git a/composer.json b/composer.json index b2b580c5..f07652a6 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,6 @@ }, "require": { "php": "~8.1.0 || ~8.2.0 || ~8.3.0", - "laminas/laminas-cache-storage-implementation": "2.0", "laminas/laminas-eventmanager": "^3.4", "laminas/laminas-servicemanager": "^3.21", "laminas/laminas-stdlib": "^3.6", @@ -45,7 +44,6 @@ "webmozart/assert": "^1.9" }, "require-dev": { - "laminas/laminas-cache-storage-adapter-dev": "^1.0", "laminas/laminas-cli": "^1.7", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-config-aggregator": "^1.13", @@ -84,12 +82,6 @@ "LaminasTest\\Cache\\": "test/" } }, - "repositories": [ - { - "type": "path", - "url": "./dev-implementation" - } - ], "scripts": { "check": [ "@cs-check", diff --git a/composer.lock b/composer.lock index 31f1f256..e371f5ac 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "15e7e51ef0274a7fb351136e6e7f18c8", + "content-hash": "651d79d2dbba70a86ca7703cbab99304", "packages": [ - { - "name": "laminas/laminas-cache-storage-adapter-dev", - "version": "1.0", - "dist": { - "type": "path", - "url": "./dev-implementation", - "reference": "4b24ab5251f0758c31e931a1201c27c8af257ced" - }, - "provide": { - "laminas/laminas-cache-storage-implementation": "2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Cache\\Storage\\Adapter\\Dev\\": "." - } - }, - "transport-options": { - "relative": true - } - }, { "name": "laminas/laminas-eventmanager", "version": "3.10.0", diff --git a/dev-implementation/README.md b/dev-implementation/README.md deleted file mode 100644 index 9a3a596e..00000000 --- a/dev-implementation/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# README - -This package is meant to provide a cache implementation for development. -By adding this as a dev-dependency, we get rid of the circular dependencies. diff --git a/dev-implementation/VoidAdapter.php b/dev-implementation/VoidAdapter.php deleted file mode 100644 index 4a907c9f..00000000 --- a/dev-implementation/VoidAdapter.php +++ /dev/null @@ -1,36 +0,0 @@ - src test - dev-implementation diff --git a/psalm-baseline.xml b/psalm-baseline.xml index bc07e8c2..9985b99b 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -876,20 +876,6 @@ testShareByDefaultAndSharedByDefault - - - - - - $eventArg - - - attach - - - getEventManager - - getCommonPluginNamesProvider diff --git a/psalm.xml b/psalm.xml index 3b13db86..bdc78c62 100644 --- a/psalm.xml +++ b/psalm.xml @@ -13,7 +13,6 @@ - diff --git a/test/StaticAnalysis/AdapterPluginManagerTypes.php b/test/StaticAnalysis/AdapterPluginManagerTypes.php index b2e9d150..0bcc133e 100644 --- a/test/StaticAnalysis/AdapterPluginManagerTypes.php +++ b/test/StaticAnalysis/AdapterPluginManagerTypes.php @@ -4,15 +4,15 @@ namespace LaminasTest\Cache\StaticAnalysis; -use Laminas\Cache\Storage\Adapter\Dev\VoidAdapter; use Laminas\Cache\Storage\AdapterPluginManager; use Laminas\Cache\Storage\StorageInterface; +use LaminasTest\Cache\Storage\TestAsset\MockAdapter; final class AdapterPluginManagerTypes { public function willReturnAnAdapterUsingFQCN(AdapterPluginManager $manager): StorageInterface { - return $manager->get(VoidAdapter::class); + return $manager->get(MockAdapter::class); } public function validateWillAssertInstanceType(AdapterPluginManager $manager, object $instance): StorageInterface @@ -24,6 +24,6 @@ public function validateWillAssertInstanceType(AdapterPluginManager $manager, ob public function buildWillReturnAdapterUsingFQCN(AdapterPluginManager $manager): StorageInterface { - return $manager->build(VoidAdapter::class); + return $manager->build(MockAdapter::class); } } diff --git a/test/Storage/CapabilitiesTest.php b/test/Storage/CapabilitiesTest.php index c3f3c334..f1bcec8f 100644 --- a/test/Storage/CapabilitiesTest.php +++ b/test/Storage/CapabilitiesTest.php @@ -4,9 +4,11 @@ namespace LaminasTest\Cache\Storage; -use Laminas\Cache\Storage\Adapter\Dev\VoidAdapter; +use ArrayObject; use Laminas\Cache\Storage\Capabilities; -use Laminas\EventManager\Event; +use Laminas\Cache\Storage\StorageInterface; +use Laminas\EventManager\EventManagerInterface; +use LaminasTest\Cache\Storage\TestAsset\EventsCapableStorageInterface; use PHPUnit\Framework\TestCase; use stdClass; @@ -40,14 +42,14 @@ class CapabilitiesTest extends TestCase /** * The storage adapter * - * @var VoidAdapter + * @var StorageInterface */ protected $adapter; public function setUp(): void { $this->marker = new stdClass(); - $this->adapter = new VoidAdapter(); + $this->adapter = $this->createMock(StorageInterface::class); $this->baseCapabilities = new Capabilities($this->adapter, $this->marker); $this->capabilities = new Capabilities($this->adapter, $this->marker, [], $this->baseCapabilities); @@ -73,21 +75,25 @@ public function testGetCapabilityByBaseCapabilities(): void public function testTriggerCapabilityEvent(): void { - $em = $this->capabilities->getAdapter()->getEventManager(); - $event = null; - $em->attach('capability', static function ($eventArg) use (&$event): void { - $event = $eventArg; - }); - - $this->capabilities->setMaxTtl($this->marker, 100); - - self::assertInstanceOf(Event::class, $event); - self::assertEquals('capability', $event->getName()); - self::assertSame($this->adapter, $event->getTarget()); - - $params = $event->getParams(); - self::assertInstanceOf('ArrayObject', $params); - self::assertTrue(isset($params ['maxTtl'])); - self::assertEquals(100, $params['maxTtl']); + $eventManager = $this->createMock(EventManagerInterface::class); + + $adapter = $this->createMock(EventsCapableStorageInterface::class); + $adapter + ->expects(self::once()) + ->method('getEventManager') + ->willReturn($eventManager); + + $eventManager + ->expects(self::once()) + ->method('trigger') + ->with('capability', $adapter, self::callback(static function ($params): bool { + self::assertInstanceOf(ArrayObject::class, $params); + self::assertTrue(isset($params['maxTtl'])); + self::assertEquals(100, $params['maxTtl']); + return true; + })); + + $capabilities = new Capabilities($adapter, $this->marker); + $capabilities->setMaxTtl($this->marker, 100); } } diff --git a/test/Storage/TestAsset/EventsCapableStorageInterface.php b/test/Storage/TestAsset/EventsCapableStorageInterface.php new file mode 100644 index 00000000..b2b7a459 --- /dev/null +++ b/test/Storage/TestAsset/EventsCapableStorageInterface.php @@ -0,0 +1,12 @@ +