Merge pull request #848 from Morilli/fix-gzip-archivetype

Fix gzip archives having a `Type` of `ArchiveType.Tar` instead of `ArchiveType.Gzip`
This commit is contained in:
Adam Hathcock
2024-06-06 08:21:14 +01:00
committed by GitHub
2 changed files with 11 additions and 2 deletions

View File

@@ -101,7 +101,7 @@ public class GZipArchive : AbstractWritableArchive<GZipArchiveEntry, GZipVolume>
/// </summary>
/// <param name="sourceStream"></param>
private GZipArchive(SourceStream sourceStream)
: base(ArchiveType.Tar, sourceStream) { }
: base(ArchiveType.GZip, sourceStream) { }
protected override IEnumerable<GZipVolume> LoadVolumes(SourceStream sourceStream)
{

View File

@@ -4,6 +4,7 @@ using System.Linq;
using SharpCompress.Archives;
using SharpCompress.Archives.GZip;
using SharpCompress.Archives.Tar;
using SharpCompress.Common;
using Xunit;
namespace SharpCompress.Test.GZip;
@@ -106,7 +107,7 @@ public class GZipArchiveTests : ArchiveTests
}
[Fact]
public void TestGzCrcWithMostSignificaltBitNotNegative()
public void TestGzCrcWithMostSignificantBitNotNegative()
{
using var stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
using var archive = GZipArchive.Open(stream);
@@ -116,4 +117,12 @@ public class GZipArchiveTests : ArchiveTests
Assert.InRange(entry.Crc, 0L, 0xFFFFFFFFL);
}
}
[Fact]
public void TestGzArchiveTypeGzip()
{
using var stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
using var archive = GZipArchive.Open(stream);
Assert.Equal(archive.Type, ArchiveType.GZip);
}
}