Files
sharpcompress/tests/SharpCompress.Test/GZip/GZipWriterTests.cs

93 lines
2.7 KiB
C#
Raw Permalink Normal View History

2026-02-06 15:16:45 +00:00
using System.IO;
2015-12-30 11:19:42 +00:00
using SharpCompress.Common;
2016-09-26 11:49:49 +01:00
using SharpCompress.Writers;
using SharpCompress.Writers.GZip;
2015-12-30 11:19:42 +00:00
using Xunit;
2022-12-20 15:06:44 +00:00
namespace SharpCompress.Test.GZip;
public class GZipWriterTests : WriterTests
2015-12-30 11:19:42 +00:00
{
2023-03-21 13:14:08 +00:00
public GZipWriterTests()
: base(ArchiveType.GZip) => UseExtensionInsteadOfNameToVerify = true;
2015-12-30 11:19:42 +00:00
2022-12-20 15:06:44 +00:00
[Fact]
public void GZip_Writer_Generic()
{
using (
Stream stream = File.Open(
2022-12-20 13:45:47 +00:00
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
2022-12-20 15:06:44 +00:00
FileMode.OpenOrCreate,
FileAccess.Write
2022-12-20 13:45:47 +00:00
)
2022-12-20 15:06:44 +00:00
)
2026-01-15 12:06:54 +00:00
using (
2026-02-06 15:16:45 +00:00
var writer = WriterFactory.OpenWriter(
stream,
ArchiveType.GZip,
new WriterOptions(CompressionType.GZip)
)
2026-01-15 12:06:54 +00:00
)
2022-12-20 15:06:44 +00:00
{
writer.Write("Tar.tar", Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar"));
2015-12-30 11:19:42 +00:00
}
2022-12-20 15:06:44 +00:00
CompareArchivesByPath(
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")
);
}
2015-12-30 11:19:42 +00:00
2022-12-20 15:06:44 +00:00
[Fact]
public void GZip_Writer()
{
using (
Stream stream = File.Open(
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
FileMode.OpenOrCreate,
FileAccess.Write
)
)
using (var writer = new GZipWriter(stream))
2015-12-30 11:19:42 +00:00
{
2022-12-20 15:06:44 +00:00
writer.Write("Tar.tar", Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar"));
2015-12-30 11:19:42 +00:00
}
2022-12-20 15:06:44 +00:00
CompareArchivesByPath(
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")
);
}
2022-12-20 15:06:44 +00:00
[Fact]
2022-12-20 15:20:49 +00:00
public void GZip_Writer_Generic_Bad_Compression() =>
2022-12-20 15:06:44 +00:00
Assert.Throws<InvalidFormatException>(() =>
{
2022-12-20 15:06:44 +00:00
using Stream stream = File.OpenWrite(Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"));
2026-01-15 12:06:54 +00:00
using var writer = WriterFactory.OpenWriter(
stream,
ArchiveType.GZip,
2026-02-06 15:16:45 +00:00
new WriterOptions(CompressionType.BZip2)
2026-01-15 12:06:54 +00:00
);
2022-12-20 15:06:44 +00:00
});
[Fact]
public void GZip_Writer_Entry_Path_With_Dir()
{
using (
Stream stream = File.Open(
2022-12-20 13:45:47 +00:00
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
2022-12-20 15:06:44 +00:00
FileMode.OpenOrCreate,
FileAccess.Write
)
)
using (var writer = new GZipWriter(stream))
{
var path = Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar");
writer.Write(path, path); //covers issue #532
}
2022-12-20 15:06:44 +00:00
CompareArchivesByPath(
Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"),
Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")
);
2015-12-30 11:19:42 +00:00
}
}