public function testCompressionFacadeGetEncoding() { $C1 = new ZlibCompression(); $this->assertEquals(AbstractCompression::ZLIB_DEFLATE, CompressionFacade::getEncoding($C1)); $C2 = $this->getMockForAbstractClass(AbstractCompression::class); try { CompressionFacade::getEncoding($C2); $this->assertTrue(false); } catch (CompressionNotFoundException $Ex) { $this->assertTrue(true); } }
/** * Method for pack data * @param AbstractCompression $Compression compression instance * @param string $data data for packaging * @return string packaged data * @throws CompressionNotFoundException when compression encoding not found for instance * @throws InvalidArgumentException when data is not string type */ public static function pack(AbstractCompression $Compression, $data) { $encoding = CompressionFacade::getEncoding($Compression); return implode("\n\n", [sprintf('Content-Encoding: %s', $encoding), $Compression->compress($data)]); }