Ejemplo n.º 1
0
        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);
            }
         
            
            
        }
Ejemplo n.º 2
0
        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);

            }
        }
Ejemplo n.º 3
0
        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);
            }


        }
Ejemplo n.º 4
0
        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());
            }
        }
Ejemplo n.º 5
0
        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");
            }
        }
Ejemplo n.º 6
0
        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);
                }
            }
            
        }