diff --git a/src/SharpCompress/Archives/GZip/GZipArchive.cs b/src/SharpCompress/Archives/GZip/GZipArchive.cs index 253af836..757c1bc2 100644 --- a/src/SharpCompress/Archives/GZip/GZipArchive.cs +++ b/src/SharpCompress/Archives/GZip/GZipArchive.cs @@ -119,7 +119,7 @@ public partial class GZipArchive : AbstractWritableArchive CreateAsync(Stream stream, IArchiveEncoding archiveEncoding, CancellationToken cancellationToken = default) + internal static async ValueTask CreateAsync( + Stream stream, + IArchiveEncoding archiveEncoding, + CancellationToken cancellationToken = default + ) { var part = new GZipFilePart(stream, archiveEncoding); @@ -59,10 +63,8 @@ internal sealed class GZipFilePart : FilePart return part; } - private GZipFilePart(Stream stream, IArchiveEncoding archiveEncoding) - : base(archiveEncoding) => - _stream = stream; + : base(archiveEncoding) => _stream = stream; internal long EntryStartPosition { get; private set; } @@ -149,7 +151,9 @@ internal sealed class GZipFilePart : FilePart } } - private async ValueTask ReadAndValidateGzipHeaderAsync(CancellationToken cancellationToken = default) + private async ValueTask ReadAndValidateGzipHeaderAsync( + CancellationToken cancellationToken = default + ) { // read the header on the first read var header = new byte[10]; @@ -228,7 +232,10 @@ internal sealed class GZipFilePart : FilePart return ArchiveEncoding.Decode(buffer); } - private async ValueTask ReadZeroTerminatedStringAsync(Stream stream, CancellationToken cancellationToken = default) + private async ValueTask ReadZeroTerminatedStringAsync( + Stream stream, + CancellationToken cancellationToken = default + ) { var buf1 = new byte[1]; var list = new List(); @@ -253,5 +260,4 @@ internal sealed class GZipFilePart : FilePart var buffer = list.ToArray(); return ArchiveEncoding.Decode(buffer); } - } diff --git a/src/SharpCompress/Polyfills/AsyncEnumerableExtensions.cs b/src/SharpCompress/Polyfills/AsyncEnumerableExtensions.cs index 5f219211..8cc3c1d1 100644 --- a/src/SharpCompress/Polyfills/AsyncEnumerableExtensions.cs +++ b/src/SharpCompress/Polyfills/AsyncEnumerableExtensions.cs @@ -33,31 +33,35 @@ public static class AsyncEnumerableExtensions { public static async IAsyncEnumerable Select( this IAsyncEnumerable source, - Func selector) + Func selector + ) { - await foreach (var element in source) - { - yield return selector(element); - } + await foreach (var element in source) + { + yield return selector(element); + } } + public static async ValueTask CountAsync( this IAsyncEnumerable source, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default + ) { await using var e = source.GetAsyncEnumerator(cancellationToken); var count = 0; while (await e.MoveNextAsync()) { - checked { count++; } + checked + { + count++; + } } return count; } - public static async IAsyncEnumerable TakeAsync( - this IAsyncEnumerable source, - int count) + public static async IAsyncEnumerable TakeAsync(this IAsyncEnumerable source, int count) { await foreach (var element in source) { diff --git a/tests/SharpCompress.Test/ArchiveTests.cs b/tests/SharpCompress.Test/ArchiveTests.cs index 302c4d45..1fe1b024 100644 --- a/tests/SharpCompress.Test/ArchiveTests.cs +++ b/tests/SharpCompress.Test/ArchiveTests.cs @@ -652,7 +652,9 @@ public class ArchiveTests : ReaderTests // Open with a pre-wrapped stream using (var fileStream = File.OpenRead(testArchive)) using (var wrappedStream = SharpCompressStream.Create(fileStream, bufferSize: 32768)) - await using (var archive = await ArchiveFactory.OpenAsync(new AsyncOnlyStream(wrappedStream))) + await using ( + var archive = await ArchiveFactory.OpenAsync(new AsyncOnlyStream(wrappedStream)) + ) { Assert.Equal(ArchiveType.Zip, archive.Type); Assert.Equal(3, await archive.EntriesAsync.CountAsync()); diff --git a/tests/SharpCompress.Test/GZip/AsyncTests.cs b/tests/SharpCompress.Test/GZip/AsyncTests.cs index 037f1b38..cfe5b559 100644 --- a/tests/SharpCompress.Test/GZip/AsyncTests.cs +++ b/tests/SharpCompress.Test/GZip/AsyncTests.cs @@ -74,9 +74,13 @@ 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 = await ArchiveFactory.OpenAsync(new AsyncOnlyStream(File.OpenRead(testArchive))); + await using var archive = await ArchiveFactory.OpenAsync( + new AsyncOnlyStream(File.OpenRead(testArchive)) + ); - await foreach (var entry in archive.EntriesAsync.WhereAsync(e => !e.IsDirectory).TakeAsync(1)) + await foreach ( + var entry in archive.EntriesAsync.WhereAsync(e => !e.IsDirectory).TakeAsync(1) + ) { #if NETFRAMEWORK using var entryStream = await entry.OpenEntryStreamAsync(); @@ -104,7 +108,11 @@ public class AsyncTests : TestBase await using (var stream = File.Create(outputPath)) #endif using ( - var writer = WriterFactory.OpenAsync(new AsyncOnlyStream(stream), ArchiveType.Zip, CompressionType.Deflate) + var writer = WriterFactory.OpenAsync( + new AsyncOnlyStream(stream), + ArchiveType.Zip, + CompressionType.Deflate + ) ) { var testFile = Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"); diff --git a/tests/SharpCompress.Test/GZip/GZipArchiveAsyncTests.cs b/tests/SharpCompress.Test/GZip/GZipArchiveAsyncTests.cs index da02db29..98bcf41a 100644 --- a/tests/SharpCompress.Test/GZip/GZipArchiveAsyncTests.cs +++ b/tests/SharpCompress.Test/GZip/GZipArchiveAsyncTests.cs @@ -156,7 +156,7 @@ public class GZipArchiveAsyncTests : ArchiveTests } [Fact] - public async Task TestGzArchiveTypeGzip_Async() + public async Task TestGzArchiveTypeGzip_Async() { using var stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")); await using var archive = GZipArchive.OpenAsync(new AsyncOnlyStream(stream)); diff --git a/tests/SharpCompress.Test/Mocks/AsyncOnlyStream.cs b/tests/SharpCompress.Test/Mocks/AsyncOnlyStream.cs index 1c35e9b7..a7fb32eb 100644 --- a/tests/SharpCompress.Test/Mocks/AsyncOnlyStream.cs +++ b/tests/SharpCompress.Test/Mocks/AsyncOnlyStream.cs @@ -27,22 +27,21 @@ public class AsyncOnlyStream : Stream public override void Flush() => _stream.Flush(); - public override int Read(byte[] buffer, int offset, int count) => throw new NotSupportedException("Synchronous Read is not supported"); + public override int Read(byte[] buffer, int offset, int count) => + throw new NotSupportedException("Synchronous Read is not supported"); public override Task ReadAsync( byte[] buffer, int offset, int count, CancellationToken cancellationToken - ) => - _stream.ReadAsync(buffer, offset, count, cancellationToken); + ) => _stream.ReadAsync(buffer, offset, count, cancellationToken); #if NET8_0_OR_GREATER public override ValueTask ReadAsync( Memory buffer, CancellationToken cancellationToken = default - ) => - _stream.ReadAsync(buffer, cancellationToken); + ) => _stream.ReadAsync(buffer, cancellationToken); #endif public override long Seek(long offset, SeekOrigin origin) => _stream.Seek(offset, origin); @@ -54,15 +53,13 @@ public class AsyncOnlyStream : Stream int offset, int count, CancellationToken cancellationToken - ) => - throw new NotSupportedException("Synchronous Read is not supported"); + ) => throw new NotSupportedException("Synchronous Read is not supported"); #if NET8_0_OR_GREATER public override ValueTask WriteAsync( ReadOnlyMemory buffer, CancellationToken cancellationToken = default - ) => - _stream.WriteAsync(buffer, cancellationToken); + ) => _stream.WriteAsync(buffer, cancellationToken); #endif public override void Write(byte[] buffer, int offset, int count) => diff --git a/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs b/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs index 4481cdaa..f7758bb3 100644 --- a/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs +++ b/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs @@ -46,10 +46,15 @@ public class TarArchiveAsyncTests : ArchiveTests // Step 2: check if the written tar file can be read correctly var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive); - await using (var archive2 = TarArchive.OpenAsync(new AsyncOnlyStream(File.OpenRead(unmodified)))) + await using ( + var archive2 = TarArchive.OpenAsync(new AsyncOnlyStream(File.OpenRead(unmodified))) + ) { Assert.Equal(1, await archive2.EntriesAsync.CountAsync()); - Assert.Contains(filename, await archive2.EntriesAsync.Select(entry => entry.Key).ToListAsync()); + Assert.Contains( + filename, + await archive2.EntriesAsync.Select(entry => entry.Key).ToListAsync() + ); await foreach (var entry in archive2.EntriesAsync) { @@ -90,10 +95,15 @@ public class TarArchiveAsyncTests : ArchiveTests // Step 2: check if the written tar file can be read correctly var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive); - await using (var archive2 = TarArchive.OpenAsync(new AsyncOnlyStream(File.OpenRead(unmodified)))) + await using ( + var archive2 = TarArchive.OpenAsync(new AsyncOnlyStream(File.OpenRead(unmodified))) + ) { Assert.Equal(1, await archive2.EntriesAsync.CountAsync()); - Assert.Contains(longFilename, await archive2.EntriesAsync.Select(entry => entry.Key).ToListAsync()); + Assert.Contains( + longFilename, + await archive2.EntriesAsync.Select(entry => entry.Key).ToListAsync() + ); await foreach (var entry in archive2.EntriesAsync) { @@ -206,9 +216,9 @@ public class TarArchiveAsyncTests : ArchiveTests var numberOfEntries = 0; -await using (var archiveFactory = TarArchive.OpenAsync(new AsyncOnlyStream(memoryStream))) + await using (var archiveFactory = TarArchive.OpenAsync(new AsyncOnlyStream(memoryStream))) { - await foreach (var entry in archiveFactory.EntriesAsync) + await foreach (var entry in archiveFactory.EntriesAsync) { ++numberOfEntries;