public void TestGetRelationships() { using (Stream s = new FileStream(TESTFILE_DIR + "test002.docx", FileMode.Open)) { OPCPackage package = new OPCPackage(s); List<PartInfo> rels = package.GetRelatedObjects(); Assert.AreEqual(4, rels.Count, "Expected to load 4 relationship"); PartInfo piWordDoc = rels[2]; Assert.AreEqual("word/document.xml", piWordDoc.Target); rels = piWordDoc.GetRelatedObjects(); Assert.AreEqual(12, rels.Count, "Expected to load 12 relationships for the document.xml part"); Assert.IsFalse(rels[0].External); Assert.AreEqual("comments.xml", rels[0].Target); Assert.IsTrue(rels[2].External); Assert.AreEqual(@"file:///\\wsstorage\qashared\generic\workshare.1.doc", rels[2].Target); } }
public void CreateForWriting() { string fileName = TESTFILE_DIR + "testCreate.docx"; if (File.Exists(fileName)) { File.Delete(fileName); } try { using (Stream s = new FileStream(fileName, FileMode.CreateNew)) { List<DefaultInfo> ldi = new List<DefaultInfo>(); ldi.Add(new DefaultInfo("xls", "application/xml")); ldi.Add(new DefaultInfo("rels", "application/vnd.openxmlformats-package.relationships+xml")); using (OPCPackage package = new OPCPackage(s, ldi, OpenXmlFormatDefinition.OpenXmlFormat.Transitional)) { using (Stream str = File.Open(TESTFILE_DIR + "document1.xml", FileMode.Open)) { PartInfo rel = new PartInfo(package); rel.Type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"; rel.Id = "rId1"; rel.Target = "/word/document.xml"; rel.RelatedTo = ""; package.AddContent(rel, str, OpenXmlFormatDefinition.OpenXmlFormat.Transitional); } } } Assert.IsTrue(File.Exists(fileName)); using (OPCPackage readPackage = new OPCPackage(File.Open(fileName, FileMode.Open))) { PartInfo rel = readPackage.GetRelatedObjects("http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument")[0]; Stream str = rel.GetContent(); Assert.IsNotNull(str, "whoops, no content found"); DocxTestUtilities.ValidateDocxMainStream(str, TESTFILE_DIR); Assert.AreEqual("word/document.xml", rel.Target); Assert.AreEqual(2, readPackage.GetDefaultTypes().Count, "Expected the written package to containt eh 2 defaults in the original package"); } } finally { File.Delete(fileName); } }
public void TestGetRelationshipsForObject() { using (Stream s = new FileStream(TESTFILE_DIR + "test002.docx", FileMode.Open)) { OPCPackage package = new OPCPackage(s); List<PartInfo> rels = package.GetRelatedObjects(); Assert.AreEqual(4, rels.Count, "expected four relationships to the root node"); PartInfo rel = rels[0]; Assert.AreEqual("rId3", rel.Id); Assert.AreEqual("http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties", rel.Type); Assert.AreEqual("docProps/app.xml", rel.Target); Assert.AreEqual("", rel.RelatedTo); Assert.IsFalse(rel.External); PartInfo piWordDoc = rels[2]; Assert.AreEqual("word/document.xml", piWordDoc.Target); rels = piWordDoc.GetRelatedObjects(); Assert.AreEqual(12, rels.Count); } }
public void TestGetContentTypesForPart() { using (Stream s = new FileStream(TESTFILE_DIR + "test002.docx", FileMode.Open)) { OPCPackage package = new OPCPackage(s); List<PartInfo> rels = package.GetRelatedObjects(); Assert.AreEqual(4, rels.Count, "expected four relationships to the root node"); Assert.AreEqual("application/vnd.openxmlformats-officedocument.extended-properties+xml", rels[0].GetContentType()); } }
public void TestGetRelationshipsToRoot() { using (Stream s = new FileStream(TESTFILE_DIR + "test002.docx", FileMode.Open)) { OPCPackage package = new OPCPackage(s); List<PartInfo> parts = package.GetRelatedObjects(); Assert.AreEqual(4, parts.Count, "expected 2 items with relationships"); } }
public void TestGetPartContent() { using (Stream s = new FileStream(TESTFILE_DIR + "test002.docx", FileMode.Open)) { OPCPackage package = new OPCPackage(s); List<PartInfo> items = package.GetRelatedObjects("http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"); Assert.AreEqual(1, items.Count); using (Stream str = items[0].GetContent()) { DocxTestUtilities.ValidateDocxMainStream(str, TESTFILE_DIR); } items = items[0].GetRelatedObjects("http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"); Assert.AreEqual(1, items.Count); using (Stream str2 = items[0].GetContent()) { Assert.IsNotNull(str2); } } }