This commit is contained in:
Adam Hathcock
2026-01-22 09:05:26 +00:00
parent db0bb8a30d
commit b9ed2b09c1
8 changed files with 27 additions and 19 deletions

View File

@@ -43,7 +43,10 @@ public class GZipEntry : Entry
yield return new GZipEntry(GZipFilePart.Create(stream, options.ArchiveEncoding));
}
internal static async IAsyncEnumerable<GZipEntry> GetEntriesAsync(Stream stream, OptionsBase options)
internal static async IAsyncEnumerable<GZipEntry> GetEntriesAsync(
Stream stream,
OptionsBase options
)
{
yield return new GZipEntry(await GZipFilePart.CreateAsync(stream, options.ArchiveEncoding));
}

View File

@@ -16,7 +16,7 @@ public abstract class Factory : IFactory
{
RegisterFactory(new ZipFactory());
RegisterFactory(new RarFactory());
RegisterFactory(new TarFactory());//put tar before most
RegisterFactory(new TarFactory()); //put tar before most
RegisterFactory(new GZipFactory());
RegisterFactory(new ArcFactory());
RegisterFactory(new ArjFactory());

View File

@@ -1,12 +1,11 @@
using System.IO;
using System.Threading;
namespace SharpCompress.Readers.GZip;
public partial class GZipReader
public partial class GZipReader
#if NET8_0_OR_GREATER
: IReaderOpenable
: IReaderOpenable
#endif
{
public static IAsyncReader OpenAsyncReader(
@@ -51,6 +50,7 @@ public partial class GZipReader
fileInfo.NotNull(nameof(fileInfo));
return OpenReader(fileInfo.OpenRead(), readerOptions);
}
public static IReader OpenReader(Stream stream, ReaderOptions? options = null)
{
stream.NotNull(nameof(stream));

View File

@@ -14,7 +14,9 @@ public partial class GZipReader : AbstractReader<GZipEntry, GZipVolume>
protected override IEnumerable<GZipEntry> GetEntries(Stream stream) =>
GZipEntry.GetEntries(stream, Options);
protected override IAsyncEnumerable<GZipEntry> GetEntriesAsync(Stream stream) {
protected override IAsyncEnumerable<GZipEntry> GetEntriesAsync(Stream stream)
{
return GZipEntry.GetEntriesAsync(stream, Options);
}
}

View File

@@ -104,7 +104,12 @@ public class ArchiveTests : ReaderTests
)
{
testArchive = Path.Combine(TEST_ARCHIVES_PATH, testArchive);
ArchiveStreamRead(archiveFactory, Path.GetExtension(testArchive), readerOptions, testArchive);
ArchiveStreamRead(
archiveFactory,
Path.GetExtension(testArchive),
readerOptions,
testArchive
);
}
protected void ArchiveStreamRead(

View File

@@ -75,7 +75,7 @@ public class AsyncTests : TestBase
public async ValueTask Archive_Entry_Async_Open_Stream()
{
var testArchive = Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz");
await using var archive = GZipArchive.OpenAsyncArchive(
await using var archive = GZipArchive.OpenAsyncArchive(
new AsyncOnlyStream(File.OpenRead(testArchive))
);

View File

@@ -23,9 +23,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
#else
await using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")))
#endif
await using (
var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream))
)
await using (var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream)))
{
var entry = await archive.EntriesAsync.FirstAsync();
await entry.WriteToFileAsync(Path.Combine(SCRATCH_FILES_PATH, entry.Key.NotNull()));

View File

@@ -85,14 +85,14 @@ public class SevenZipArchiveTests : ArchiveTests
public void SevenZipArchive_BZip2_Split() =>
ArchiveStreamMultiRead(
null,
"Original.7z.001",
"Original.7z.002",
"Original.7z.003",
"Original.7z.004",
"Original.7z.005",
"Original.7z.006",
"Original.7z.007"
);
"Original.7z.001",
"Original.7z.002",
"Original.7z.003",
"Original.7z.004",
"Original.7z.005",
"Original.7z.006",
"Original.7z.007"
);
//Same as archive as Original.7z.001 ... 007 files without the root directory 'Original\' in the archive - this caused the verify to fail
[Fact]