/// <summary> /// Creates a new ZipFileInfo object representing a file within a zip in a specified path. /// </summary> /// <param name="zipInfo">An object representing the zip archive containing the file.</param> /// <param name="filePath">The path to the file within the zip archive. Usually, this is a simple file /// name, but if the zip archive contains a directory structure this may include the directory.</param> public ZipFileInfo(ZipInfo zipInfo, string filePath) : base(zipInfo, filePath) { if (zipInfo == null) { throw new ArgumentNullException("zipInfo"); } }
/// <summary> /// Creates a new ZipFileInfo object representing a file within a zip in a specified path. /// </summary> /// <param name="zipInfo">An object representing the zip archive containing the file.</param> /// <param name="filePath">The path to the file within the zip archive. Usually, this is a simple file /// name, but if the zip archive contains a directory structure this may include the directory.</param> internal ZipFileInfo(ZipInfo zipInfo, string filePath) : base(zipInfo, filePath) { if (zipInfo == null) { throw new ArgumentNullException("zipInfo"); } }
public void ZipTruncatedArchive() { ZipInfo zipInfo = new ZipInfo("test-t.zip"); CompressionTestUtil.GenerateRandomFile("ziptest-0.txt", 0, 5); CompressionTestUtil.GenerateRandomFile("ziptest-1.txt", 1, 5); zipInfo.PackFiles(null, new string[] { "ziptest-0.txt", "ziptest-1.txt" }, null); CompressionTestUtil.TestTruncatedArchive(zipInfo, typeof(ZipException)); }
public void ZipBadUnpackStreamContexts() { int txtSize = 40960; ZipInfo zipInfo = new ZipInfo("test2.zip"); CompressionTestUtil.GenerateRandomFile("ziptest-0.txt", 0, txtSize); CompressionTestUtil.GenerateRandomFile("ziptest-1.txt", 1, txtSize); zipInfo.PackFiles(null, new string[] { "ziptest-0.txt", "ziptest-1.txt" }, null); using (ZipEngine zipEngine = new ZipEngine()) { CompressionTestUtil.TestBadUnpackStreamContexts(zipEngine, "test2.zip"); } }
public void ZipFileInfoNullParams() { Exception caughtEx; ZipInfo zipInfo = new ZipInfo("test.zip"); int txtSize = 10240; CompressionTestUtil.GenerateRandomFile("test00.txt", 0, txtSize); CompressionTestUtil.GenerateRandomFile("test01.txt", 1, txtSize); zipInfo.PackFiles(null, new string[] { "test00.txt", "test01.txt" }, null); ZipFileInfo zfi = new ZipFileInfo(zipInfo, "test01.txt"); caughtEx = null; try { new ZipFileInfo(null, "test00.txt"); } catch (Exception ex) { caughtEx = ex; } Assert.IsInstanceOfType(caughtEx, typeof(ArgumentNullException)); caughtEx = null; try { new ZipFileInfo(zipInfo, null); } catch (Exception ex) { caughtEx = ex; } Assert.IsInstanceOfType(caughtEx, typeof(ArgumentNullException)); caughtEx = null; try { zfi.CopyTo(null); } catch (Exception ex) { caughtEx = ex; } Assert.IsInstanceOfType(caughtEx, typeof(ArgumentNullException)); }
public void ZipInfoNullParams() { int fileCount = 10, fileSize = 1024; string dirA = String.Format("{0}-{1}-A", fileCount, fileSize); if (Directory.Exists(dirA)) Directory.Delete(dirA, true); Directory.CreateDirectory(dirA); string dirB = String.Format("{0}-{1}-B", fileCount, fileSize); if (Directory.Exists(dirB)) Directory.Delete(dirB, true); Directory.CreateDirectory(dirB); string[] files = new string[fileCount]; for (int iFile = 0; iFile < fileCount; iFile++) { files[iFile] = "zipinfo-" + iFile + ".txt"; CompressionTestUtil.GenerateRandomFile(Path.Combine(dirA, files[iFile]), iFile, fileSize); } ZipInfo zipInfo = new ZipInfo("testnull.zip"); CompressionTestUtil.TestArchiveInfoNullParams(zipInfo, dirA, dirB, files); }
public void ZipInfoGetFiles() { IList<ZipFileInfo> fileInfos; ZipInfo zipInfo = new ZipInfo("testgetfiles.zip"); int txtSize = 10240; CompressionTestUtil.GenerateRandomFile("testinfo0.txt", 0, txtSize); CompressionTestUtil.GenerateRandomFile("testinfo1.txt", 1, txtSize); CompressionTestUtil.GenerateRandomFile("testinfo2.ini", 2, txtSize); zipInfo.PackFiles(null, new string[] { "testinfo0.txt", "testinfo1.txt", "testinfo2.ini" }, null); fileInfos = zipInfo.GetFiles(); Assert.IsNotNull(fileInfos); Assert.AreEqual<int>(3, fileInfos.Count); Assert.AreEqual<string>("testinfo0.txt", fileInfos[0].Name); Assert.AreEqual<string>("testinfo1.txt", fileInfos[1].Name); Assert.AreEqual<string>("testinfo2.ini", fileInfos[2].Name); fileInfos = zipInfo.GetFiles("*.txt"); Assert.IsNotNull(fileInfos); Assert.AreEqual<int>(2, fileInfos.Count); Assert.AreEqual<string>("testinfo0.txt", fileInfos[0].Name); Assert.AreEqual<string>("testinfo1.txt", fileInfos[1].Name); fileInfos = zipInfo.GetFiles("testinfo1.txt"); Assert.IsNotNull(fileInfos); Assert.AreEqual<int>(1, fileInfos.Count); Assert.AreEqual<string>("testinfo1.txt", fileInfos[0].Name); Assert.IsTrue(DateTime.Now - fileInfos[0].LastWriteTime < TimeSpan.FromMinutes(1), "Checking ZipFileInfo.LastWriteTime is current."); }