/* 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); }
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); } } }
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); } } }
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); } } }