diff --git a/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs b/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs
index eec06f41..10b3d4f4 100644
--- a/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs
+++ b/Source/Testably.Abstractions.Compression/ZipArchiveEntryWrapper.cs
@@ -109,31 +109,41 @@ public void ExtractToFile(string destinationFileName, bool overwrite)
#if FEATURE_COMPRESSION_ASYNC
///
- public async Task ExtractToFileAsync(string destinationFileName, CancellationToken cancellationToken = default)
+ public Task ExtractToFileAsync(string destinationFileName, CancellationToken cancellationToken = default)
{
if (destinationFileName == null)
{
throw new ArgumentNullException(nameof(destinationFileName));
}
- await Execute.WhenRealFileSystemAsync(FileSystem,
- async () => await _instance.ExtractToFileAsync(destinationFileName, cancellationToken),
- () => ZipUtilities.ExtractToFile(this, destinationFileName, false));
+ return ExtractToFileImplAsync(destinationFileName, cancellationToken);
+
+ async Task ExtractToFileImplAsync(string d, CancellationToken c)
+ {
+ await Execute.WhenRealFileSystemAsync(FileSystem,
+ async () => await _instance.ExtractToFileAsync(d, c),
+ () => ZipUtilities.ExtractToFile(this, d, false));
+ }
}
#endif
#if FEATURE_COMPRESSION_ASYNC
///
- public async Task ExtractToFileAsync(string destinationFileName, bool overwrite, CancellationToken cancellationToken = default)
+ public Task ExtractToFileAsync(string destinationFileName, bool overwrite, CancellationToken cancellationToken = default)
{
if (destinationFileName == null)
{
throw new ArgumentNullException(nameof(destinationFileName));
}
- await Execute.WhenRealFileSystemAsync(FileSystem,
- async () => await _instance.ExtractToFileAsync(destinationFileName, overwrite, cancellationToken),
- () => ZipUtilities.ExtractToFile(this, destinationFileName, overwrite));
+ return ExtractToFileImplAsync(destinationFileName, overwrite, cancellationToken);
+
+ async Task ExtractToFileImplAsync(string d, bool o, CancellationToken c)
+ {
+ await Execute.WhenRealFileSystemAsync(FileSystem,
+ async () => await _instance.ExtractToFileAsync(d, o, c),
+ () => ZipUtilities.ExtractToFile(this, d, o));
+ }
}
#endif
diff --git a/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs b/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs
index 9bf45a6d..09c087b5 100644
--- a/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs
+++ b/Source/Testably.Abstractions.Compression/ZipArchiveWrapper.cs
@@ -166,7 +166,7 @@ public void ExtractToDirectory(string destinationDirectoryName, bool overwriteFi
#if FEATURE_COMPRESSION_ASYNC
///
- public async Task ExtractToDirectoryAsync(string destinationDirectoryName,
+ public Task ExtractToDirectoryAsync(string destinationDirectoryName,
CancellationToken cancellationToken = default)
{
if (destinationDirectoryName == null)
@@ -174,22 +174,26 @@ public async Task ExtractToDirectoryAsync(string destinationDirectoryName,
throw new ArgumentNullException(nameof(destinationDirectoryName));
}
- await Execute.WhenRealFileSystemAsync(FileSystem,
- async () => await _instance.ExtractToDirectoryAsync(destinationDirectoryName,
- cancellationToken),
- () =>
- {
- foreach (IZipArchiveEntry entry in Entries)
+ return ExtractToDirectoryImplAsync(destinationDirectoryName, cancellationToken);
+
+ async Task ExtractToDirectoryImplAsync(string d, CancellationToken c)
+ {
+ await Execute.WhenRealFileSystemAsync(FileSystem,
+ async () => await _instance.ExtractToDirectoryAsync(d, c),
+ () =>
{
- entry.ExtractRelativeToDirectory(destinationDirectoryName, overwrite: false);
- }
- });
+ foreach (IZipArchiveEntry entry in Entries)
+ {
+ entry.ExtractRelativeToDirectory(d, overwrite: false);
+ }
+ });
+ }
}
#endif
#if FEATURE_COMPRESSION_ASYNC
///
- public async Task ExtractToDirectoryAsync(string destinationDirectoryName,
+ public Task ExtractToDirectoryAsync(string destinationDirectoryName,
bool overwriteFiles,
CancellationToken cancellationToken = default)
{
@@ -198,17 +202,20 @@ public async Task ExtractToDirectoryAsync(string destinationDirectoryName,
throw new ArgumentNullException(nameof(destinationDirectoryName));
}
- await Execute.WhenRealFileSystemAsync(FileSystem,
- async () => await _instance.ExtractToDirectoryAsync(destinationDirectoryName,
- overwriteFiles, cancellationToken),
- () =>
- {
- foreach (IZipArchiveEntry entry in Entries)
+ return ExtractToDirectoryImplAsync(destinationDirectoryName, overwriteFiles, cancellationToken);
+
+ async Task ExtractToDirectoryImplAsync(string d, bool o, CancellationToken c)
+ {
+ await Execute.WhenRealFileSystemAsync(FileSystem,
+ async () => await _instance.ExtractToDirectoryAsync(d, o, c),
+ () =>
{
- entry.ExtractRelativeToDirectory(destinationDirectoryName,
- overwrite: overwriteFiles);
- }
- });
+ foreach (IZipArchiveEntry entry in Entries)
+ {
+ entry.ExtractRelativeToDirectory(d, overwrite: o);
+ }
+ });
+ }
}
#endif