Exemplo n.º 1
0
        /* abandoned this feature for now, as I realized we don't need it. But maybe some day.
         * [Test]
         * public void PreserveClassAttributeOfElement_ElementFound_HtmlChanged()
         * {
         *      var dom = new XmlDocument();
         *      dom.LoadXml("<html><body><div id='parent'><div id='foo' class='old'></div></div></body></html>");
         *      var model = new PageEditingModel();
         *      model.PreserveClassAttributeOfElement(dom.DocumentElement, "<div id='foo' class='new'></div>");
         *      AssertThatXmlIn.Dom(dom).HasSpecifiedNumberOfMatchesForXpath(@"//div[@id='foo' and @class='new']", 1);
         * }*/

        public void ChangePicture(string bookFolderPath, XmlDocument dom, string imageId, PalasoImage imageInfo)
        {
            var model = new PageEditingModel();
            var node  = (XmlElement)dom.SelectSingleNode("//*[@id='" + imageId + "']");

            model.ChangePicture(bookFolderPath, new ElementProxy(node), imageInfo, null);
        }
Exemplo n.º 2
0
        public void ChangePicture_PictureIsFromOutsideProject_PictureCopiedAndAttributeChanged()
        {
            var dom = new XmlDocument();

            dom.LoadXml("<html><body><div/><div><img id='one'/><img id='two' src='old.png'/></div></body></html>");
            var model = new PageEditingModel();

            using (var src = new TemporaryFolder("bloom pictures test source"))
                using (var dest = new TemporaryFolder("bloom picture tests dest"))
                {
                    var newImagePath = src.Combine("new.png");
                    using (var original = MakeSamplePngImage(newImagePath))
                    {
                        model.ChangePicture(dest.Path, dom, "two", original);
                        Assert.IsTrue(File.Exists(dest.Combine("new.png")));
                        AssertThatXmlIn.Dom(dom).HasSpecifiedNumberOfMatchesForXpath(@"//img[@id='two' and @src='new.png']", 1);
                    }
                }
        }
Exemplo n.º 3
0
        public void ChangePicture_PictureIsTiff_ConvertedToPng()
        {
            var dom = new XmlDocument();

            dom.LoadXml("<html><body><div/><div><img id='one'/><img id='two' src='old.png'/></div></body></html>");
            var model = new PageEditingModel();

            using (var src = new TemporaryFolder("bloom pictures test source"))
                using (var dest = new TemporaryFolder("bloom picture tests dest"))
                    using (var original = MakeSampleTifImage(src.Combine("new.tif")))
                    {
                        model.ChangePicture(dest.Path, dom, "two", original);
                        Assert.IsTrue(File.Exists(dest.Combine("new.png")));
                        AssertThatXmlIn.Dom(dom).HasSpecifiedNumberOfMatchesForXpath(@"//img[@id='two' and @src='new.png']", 1);
                        using (var converted = Image.FromFile(dest.Combine("new.png")))
                        {
                            Assert.AreEqual(ImageFormat.Png.Guid, converted.RawFormat.Guid);
                        }
                    }
        }
Exemplo n.º 4
0
        public void ChangePicture_AlreadyHaveACopyInPublicationFolder_PictureUpdated()
        {
            var dom = new XmlDocument();

            dom.LoadXml("<html><body><div/><div><img id='one'/><img id='two' src='old.png'/></div></body></html>");
            var model = new PageEditingModel();

            using (var src = new TemporaryFolder("bloom pictures test source"))
                using (var dest = new TemporaryFolder("bloom picture tests dest"))
                {
                    var dogImagePath = src.Combine("dog.png");
                    using (var original = MakeSamplePngImage(dogImagePath))
                    {
                        var destDogImagePath = dest.Combine("dog.png");
                        File.WriteAllText(destDogImagePath, "old dog");
                        model.ChangePicture(dest.Path, dom, "two", original);
                        Assert.IsTrue(Image.FromFile(destDogImagePath).Width == kSampleImageDimension);
                    }
                }
        }