Exemple #1
0
        public void TestDeleteItem_NotInSpine()
        {
            XDocument doc = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            var       opf = new Opf(doc, "OEPBS/content.opf");

            var sources = opf.Manifest.ExtractSources();

            Assert.AreEqual(26, sources.Count);
            Assert.IsTrue(sources.ContainsKey("id.cover-image"));

            Assert.AreEqual(29, opf.Manifest.Count);
            Assert.AreEqual("OEPBS/Images/0000_p1alt2en.png", opf.Manifest[0].AbsolutePath);

            Assert.AreEqual(7, opf.Spine.Count);

            opf.DeleteImage(opf.Manifest[0]);

            Assert.AreEqual(7, opf.Spine.Count);

            Assert.AreEqual("OEPBS/Images/0008_ch2.png", opf.Manifest[0].AbsolutePath);
            Assert.AreEqual(28, opf.Manifest.Count);

            sources = opf.Manifest.ExtractSources();
            Assert.AreEqual(25, sources.Count);
            Assert.IsFalse(sources.ContainsKey("id.cover-image"));
        }
Exemple #2
0
        public void TestFindSpecialPages_NotPresent()
        {
            XDocument doc  = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.content.opf");
            var       opf  = new Opf(doc, "OEPBS/content.opf");
            var       doc2 = opf.ToXDocument();

            Assert.IsNull(opf.CoverImage);
            Assert.IsNull(opf.CoverPage);
        }
Exemple #3
0
        public void TestFindSpecialPages_Present()
        {
            XDocument doc  = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            var       opf  = new Opf(doc, "OEPBS/content.opf");
            var       doc2 = opf.ToXDocument();

            Assert.AreEqual("OEPBS/Images/0000_p1alt2en.png", opf.CoverImage.AbsolutePath);
            Assert.AreEqual("OEPBS/Text/Cover.xhtml", opf.CoverPage.AbsolutePath);
        }
Exemple #4
0
        public void TestGetImageItems_HasImages()
        {
            XDocument doc  = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            var       opf  = new Opf(doc, "OEPBS/content.opf");
            var       doc2 = opf.ToXDocument();

            var items = opf.GetImageItems();

            Assert.AreEqual(20, items.Count);
        }
Exemple #5
0
        public void TestRoundTripParseOpfWithGuide()
        {
            XDocument doc  = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            var       opf  = new Opf(doc, "OEPBS/content.opf");
            var       doc2 = opf.ToXDocument();

            var delta = XmlCompare.ElementSame(doc.Root, doc2.Root);

            Assert.IsTrue(delta.AreSame);
        }
Exemple #6
0
        public void TestGetPageItems()
        {
            XDocument doc  = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.content.opf");
            var       opf  = new Opf(doc, "OEPBS/content.opf");
            var       doc2 = opf.ToXDocument();

            var items = opf.GetPageItems();

            Assert.AreEqual(14, items.Count);
            Assert.AreEqual("OEPBS/Text/0000_Information.xhtml", items[0].AbsolutePath);
        }
        public Epub MockEpub2()
        {
            XDocument doc = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            XDocument toc = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.tocGifting.ncx");

            var opf = new Opf(doc, "OEPBS/content.opf");

            MockRawData(opf);
            return(new Epub()
            {
                Opf = opf,
                ToC = new ToC(toc, MockTocEpubItem(), opf.AbsolutePathIndex)
            });
        }
 public void MockRawData(Opf opf)
 {
     foreach (var item in opf.Manifest)
     {
         if (item.IsXhtmlPage)
         {
             item.RawBytes = MakeDummyDoc();
         }
         else if (item.IsImage)
         {
             item.RawBytes = MakeDummyImage(item);
         }
     }
     ;
 }
Exemple #9
0
        public void TestDeleteItem_InSpine()
        {
            XDocument doc = Utils.ReadXmlResource("UnitTestMergeWebToEpub.TestData.contentWithImages.opf");
            var       opf = new Opf(doc, "OEPBS/content.opf");

            Assert.AreEqual(29, opf.Manifest.Count);
            Assert.AreEqual("OEPBS/Text/Cover.xhtml", opf.Manifest[28].AbsolutePath);


            Assert.AreEqual(7, opf.Spine.Count);
            Assert.AreEqual("cover", opf.Spine[0].Id);

            opf.DeleteItem(opf.Manifest[28]);

            Assert.AreEqual(6, opf.Spine.Count);
            Assert.AreEqual("xhtml0000", opf.Spine[0].Id);
            Assert.AreEqual(28, opf.Manifest.Count);
        }