2025-12-18 15:26:35 +00:00
|
|
|
using System.IO;
|
2025-12-19 12:15:54 +00:00
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
2025-12-18 15:26:35 +00:00
|
|
|
using SharpCompress.Archives;
|
|
|
|
|
using SharpCompress.Common;
|
|
|
|
|
using SharpCompress.Readers;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace SharpCompress.Test;
|
|
|
|
|
|
2025-12-19 14:33:24 +00:00
|
|
|
public class ExtractAllTests : TestBase
|
2025-12-18 15:26:35 +00:00
|
|
|
{
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("Zip.deflate.zip")]
|
|
|
|
|
[InlineData("Rar5.rar")]
|
|
|
|
|
[InlineData("Rar.rar")]
|
|
|
|
|
[InlineData("Rar.solid.rar")]
|
2025-12-18 15:33:26 +00:00
|
|
|
[InlineData("7Zip.solid.7z")]
|
|
|
|
|
[InlineData("7Zip.nonsolid.7z")]
|
|
|
|
|
[InlineData("7Zip.LZMA.7z")]
|
2025-12-19 14:22:09 +00:00
|
|
|
public async Task ExtractAllEntriesAsync(string archivePath)
|
2025-12-19 12:15:54 +00:00
|
|
|
{
|
|
|
|
|
var testArchive = Path.Combine(TEST_ARCHIVES_PATH, archivePath);
|
|
|
|
|
var options = new ExtractionOptions() { ExtractFullPath = true, Overwrite = true };
|
|
|
|
|
|
|
|
|
|
using var archive = ArchiveFactory.Open(testArchive);
|
2025-12-19 14:22:09 +00:00
|
|
|
await archive.WriteToDirectoryAsync(SCRATCH_FILES_PATH, options);
|
2025-12-19 12:15:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("Zip.deflate.zip")]
|
|
|
|
|
[InlineData("Rar5.rar")]
|
|
|
|
|
[InlineData("Rar.rar")]
|
|
|
|
|
[InlineData("Rar.solid.rar")]
|
|
|
|
|
[InlineData("7Zip.solid.7z")]
|
|
|
|
|
[InlineData("7Zip.nonsolid.7z")]
|
|
|
|
|
[InlineData("7Zip.LZMA.7z")]
|
|
|
|
|
public void ExtractAllEntriesSync(string archivePath)
|
2025-12-18 15:26:35 +00:00
|
|
|
{
|
|
|
|
|
var testArchive = Path.Combine(TEST_ARCHIVES_PATH, archivePath);
|
2025-12-18 15:33:26 +00:00
|
|
|
var options = new ExtractionOptions() { ExtractFullPath = true, Overwrite = true };
|
2025-12-18 15:26:35 +00:00
|
|
|
|
2025-12-18 15:33:26 +00:00
|
|
|
using var archive = ArchiveFactory.Open(testArchive);
|
2025-12-19 14:22:09 +00:00
|
|
|
archive.WriteToDirectory(SCRATCH_FILES_PATH, options);
|
2025-12-18 15:26:35 +00:00
|
|
|
}
|
|
|
|
|
}
|