/** * @covers Alchemy\Zippy\Resource\TeleporterContainer::load */ public function testLoad() { $container = TeleporterContainer::load(); $this->assertInstanceOf('Alchemy\\Zippy\\Resource\\TeleporterContainer', $container); $this->assertInstanceOf('Alchemy\\Zippy\\Resource\\Teleporter\\GuzzleTeleporter', $container['guzzle-teleporter']); $this->assertInstanceOf('Alchemy\\Zippy\\Resource\\Teleporter\\StreamTeleporter', $container['stream-teleporter']); $this->assertInstanceOf('Alchemy\\Zippy\\Resource\\Teleporter\\LocalTeleporter', $container['local-teleporter']); }
/** * Builds the adapter container * * @return AdapterContainer */ public static function load() { $container = new static(); $container['zip.inflator'] = null; $container['zip.deflator'] = null; $container['resource-manager'] = $container->share(function ($container) { return new ResourceManager($container['request-mapper'], $container['resource-teleporter'], $container['filesystem']); }); $container['executable-finder'] = $container->share(function ($container) { return new ExecutableFinder(); }); $container['request-mapper'] = $container->share(function ($container) { return new RequestMapper($container['target-locator']); }); $container['target-locator'] = $container->share(function () { return new TargetLocator(); }); $container['teleporter-container'] = $container->share(function ($container) { return TeleporterContainer::load(); }); $container['resource-teleporter'] = $container->share(function ($container) { return new ResourceTeleporter($container['teleporter-container']); }); $container['filesystem'] = $container->share(function () { return new Filesystem(); }); $container['Alchemy\\Zippy\\Adapter\\ZipAdapter'] = $container->share(function ($container) { return ZipAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['zip.inflator'], $container['zip.deflator']); }); $container['gnu-tar.inflator'] = null; $container['gnu-tar.deflator'] = null; $container['Alchemy\\Zippy\\Adapter\\GNUTar\\TarGNUTarAdapter'] = $container->share(function ($container) { return TarGNUTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['gnu-tar.inflator'], $container['gnu-tar.deflator']); }); $container['Alchemy\\Zippy\\Adapter\\GNUTar\\TarGzGNUTarAdapter'] = $container->share(function ($container) { return TarGzGNUTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['gnu-tar.inflator'], $container['gnu-tar.deflator']); }); $container['Alchemy\\Zippy\\Adapter\\GNUTar\\TarBz2GNUTarAdapter'] = $container->share(function ($container) { return TarBz2GNUTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['gnu-tar.inflator'], $container['gnu-tar.deflator']); }); $container['bsd-tar.inflator'] = null; $container['bsd-tar.deflator'] = null; $container['Alchemy\\Zippy\\Adapter\\BSDTar\\TarBSDTarAdapter'] = $container->share(function ($container) { return TarBSDTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['bsd-tar.inflator'], $container['bsd-tar.deflator']); }); $container['Alchemy\\Zippy\\Adapter\\BSDTar\\TarGzBSDTarAdapter'] = $container->share(function ($container) { return TarGzBSDTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['bsd-tar.inflator'], $container['bsd-tar.deflator']); }); $container['Alchemy\\Zippy\\Adapter\\BSDTar\\TarBz2BSDTarAdapter'] = $container->share(function ($container) { return TarBz2BSDTarAdapter::newInstance($container['executable-finder'], $container['resource-manager'], $container['bsd-tar.inflator'], $container['bsd-tar.deflator']); }); $container['Alchemy\\Zippy\\Adapter\\ZipExtensionAdapter'] = $container->share(function () { return ZipExtensionAdapter::newInstance(); }); return $container; }