Esempio n. 1
0
        public async Task ThrowIf_AddFile_AfterDispose_Async()
        {
            using MemoryStream archiveStream = new MemoryStream();
            TarWriter writer = new TarWriter(archiveStream);
            await writer.DisposeAsync();

            await Assert.ThrowsAsync <ObjectDisposedException>(() => writer.WriteEntryAsync("fileName", "entryName"));
        }
Esempio n. 2
0
        public async Task WriteEntry_AfterDispose_Throws_Async()
        {
            using MemoryStream archiveStream = new MemoryStream();
            TarWriter writer = new TarWriter(archiveStream);
            await writer.DisposeAsync();

            PaxTarEntry entry = new PaxTarEntry(TarEntryType.RegularFile, InitialEntryName);
            await Assert.ThrowsAsync <ObjectDisposedException>(() => writer.WriteEntryAsync(entry));
        }
Esempio n. 3
0
        public async Task Constructor_NoEntryInsertion_WritesNothing_Async()
        {
            await using (MemoryStream archiveStream = new MemoryStream())
            {
                TarWriter writer = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: true);
                await writer.DisposeAsync(); // No entries inserted, should write no empty records

                Assert.Equal(0, archiveStream.Length);
            }
        }
Esempio n. 4
0
        public async Task Constructors_LeaveOpen_Async()
        {
            await using (MemoryStream archiveStream = new MemoryStream())
            {
                TarWriter writer1 = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: true);
                await writer1.DisposeAsync();

                archiveStream.WriteByte(0); // Should succeed because stream was not closed

                TarWriter writer2 = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: false);
                await writer2.DisposeAsync();

                Assert.Throws <ObjectDisposedException>(() => archiveStream.WriteByte(0)); // Should fail because stream was closed
            }
        }