DataDescriptor should always be non-seekable

This commit is contained in:
Adam Hathcock
2026-07-25 17:08:50 +01:00
parent ba221b27af
commit fe75f28ac9
3 changed files with 66 additions and 1 deletions

View File

@@ -138,6 +138,25 @@ public class SharpCompressStreamFactoryTest
Assert.Same(wrappedStream, result.BaseStream());
}
[Fact]
public void Create_WithDataDescriptorStream_UsesBufferedWrapper()
{
using var ms = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 });
using var sharpStream = SharpCompressStream.CreateNonDisposing(ms);
using var dataDescriptorStream = new DataDescriptorStream(sharpStream);
using var result = SharpCompressStream.Create(dataDescriptorStream, 128);
Assert.False(dataDescriptorStream.CanSeek);
Assert.IsType<SharpCompressStream>(result);
Assert.Same(dataDescriptorStream, result.BaseStream());
result.StartRecording();
Assert.Equal(1, result.ReadByte());
Assert.Equal(2, result.ReadByte());
result.Rewind();
Assert.Equal(1, result.ReadByte());
}
[Fact]
public void Create_WithNonSeekablePassthroughStream_CreatesBufferedWrapper()
{