Skip to content

Commit e61251a

Browse files
committed
add test for empty gzip stream
1 parent 91a9b68 commit e61251a

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

test/ICSharpCode.SharpZipLib.Tests/GZip/GZipAsyncTests.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,5 +109,36 @@ public async Task OriginalFilenameAsync()
109109
Assert.AreEqual("file.ext", inStream.GetFilename());
110110
}
111111
}
112+
113+
/// <summary>
114+
/// Test creating an empty gzip stream using async
115+
/// </summary>
116+
[Test]
117+
[Category("GZip")]
118+
[Category("Async")]
119+
public async Task EmptyGZipStreamAsync()
120+
{
121+
#if NETCOREAPP3_1_OR_GREATER
122+
await using var ms = new MemoryStream();
123+
await using (var outStream = new GZipOutputStream(ms) { IsStreamOwner = false })
124+
{
125+
// No content
126+
}
127+
#else
128+
var ms = new MemoryStream();
129+
var outStream = new GZipOutputStream(ms){ IsStreamOwner = false };
130+
await outStream.FinishAsync(System.Threading.CancellationToken.None);
131+
outStream.Dispose();
132+
133+
#endif
134+
ms.Seek(0, SeekOrigin.Begin);
135+
136+
using (var inStream = new GZipInputStream(ms))
137+
using (var reader = new StreamReader(inStream))
138+
{
139+
var content = await reader.ReadToEndAsync();
140+
Assert.IsEmpty(content);
141+
}
142+
}
112143
}
113144
}

0 commit comments

Comments
 (0)