assertInstanceOf(\Magento\Framework\Filesystem\DriverInterface::class, $object->getDriver($code)); } $default = $object->getDriver(''); $this->assertInstanceOf(\Magento\Framework\Filesystem\Driver\File::class, $default); $this->assertSame($default, $object->getDriver('')); } public function testCustomDriver() { $customOne = $this->getMockForAbstractClass(\Magento\Framework\Filesystem\DriverInterface::class); $customTwo = get_class($this->getMockForAbstractClass(\Magento\Framework\Filesystem\DriverInterface::class)); $object = new DriverPool(['customOne' => $customOne, 'customTwo' => $customTwo]); $this->assertSame($customOne, $object->getDriver('customOne')); $this->assertInstanceOf(\Magento\Framework\Filesystem\DriverInterface::class, $object->getDriver('customOne')); $this->assertEquals($customTwo, get_class($object->getDriver('customTwo'))); $this->assertInstanceOf(\Magento\Framework\Filesystem\DriverInterface::class, $object->getDriver('customTwo')); } /** * @expectedException \InvalidArgumentException * @expectedExceptionMessage The specified type 'stdClass' does not implement DriverInterface. */ public function testCustomDriverException() { new DriverPool(['custom' => new \StdClass()]); } }