-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
api-suggestionEarly API idea and discussion, it is NOT ready for implementationEarly API idea and discussion, it is NOT ready for implementationarea-System.IO.Compression
Milestone
Description
When creating a package on .NET Core, you have to call Dispose or Close to get the contents written out to the underlying stream. This works on .NET Framework, but fails on .NET Core:
[Fact]
public void FlushSavesPackageContents()
{
var uri = new Uri("/something", UriKind.Relative);
var contentType = "something/other";
byte[] CreatePackage()
{
using (var ms = new MemoryStream())
{
using (var package = Package.Open(ms, FileMode.Create))
{
package.CreatePart(uri, contentType);
Assert.Empty(ms.ToArray());
package.Flush();
// All data should be written after calling flush
return ms.ToArray();
}
}
}
var bytes = CreatePackage();
Assert.NotEmpty(bytes);
using (var ms = new MemoryStream(bytes))
using (var package = Package.Open(ms))
{
Assert.True(package.PartExists(uri));
Assert.Equal(contentType, package.GetPart(uri).ContentType);
}
}droyad, morti12, ashahabov, Alexander-Leontiev, aleksei-kupriianov and 11 morerokonec
Metadata
Metadata
Assignees
Labels
api-suggestionEarly API idea and discussion, it is NOT ready for implementationEarly API idea and discussion, it is NOT ready for implementationarea-System.IO.Compression