getCompression()); } /** * Test for File::getContent * * @param string $file file string */ #[DataProvider('compressedFiles')] public function testBinaryContent(string $file): void { $data = '0x' . bin2hex((string) file_get_contents($file)); $file = new File($file); self::assertSame($data, $file->getContent()); } /** * Test for File::read * * @param string $file file string */ #[DataProvider('compressedFiles')] #[RequiresPhpExtension('bz2')] #[RequiresPhpExtension('zip')] public function testReadCompressed(string $file): void { $file = new File($file); $file->setDecompressContent(true); $file->open(); self::assertSame("TEST FILE\n", $file->read(100)); $file->close(); } /** @return array */ public static function compressedFiles(): array { return [ ['./tests/test_data/test.gz', 'application/gzip'], ['./tests/test_data/test.bz2', 'application/bzip2'], ['./tests/test_data/test.zip', 'application/zip'], ]; } }