public function testPluginRegistry() { $this->_storage = $this->getMockForAbstractAdapter(); $plugin = new \ZendTest\Cache\Storage\TestAsset\MockPlugin(); // no plugin registered $this->assertFalse($this->_storage->hasPlugin($plugin)); $this->assertEquals(0, count($this->_storage->getPluginRegistry())); $this->assertEquals(0, count($plugin->getHandles())); // register a plugin $this->assertSame($this->_storage, $this->_storage->addPlugin($plugin)); $this->assertTrue($this->_storage->hasPlugin($plugin)); $this->assertEquals(1, count($this->_storage->getPluginRegistry())); // test registered callback handles $handles = $plugin->getHandles(); $this->assertCount(2, $handles); // test unregister a plugin $this->assertSame($this->_storage, $this->_storage->removePlugin($plugin)); $this->assertFalse($this->_storage->hasPlugin($plugin)); $this->assertEquals(0, count($this->_storage->getPluginRegistry())); $this->assertEquals(0, count($plugin->getHandles())); }