public void DOMStringMapHasAttributesButRequestedMissing() { var div = new HTMLDivElement(); div.SetAttribute("data-some", "test"); div.SetAttribute("data-another", ""); div.SetAttribute("data-test", "third attribute"); Assert.IsFalse(div.Dataset.HasDataAttr("user")); }
public void DOMStringMapIEnumerableWorking() { var div = new HTMLDivElement(); div.SetAttribute("data-some", "test"); div.SetAttribute("data-another", ""); div.SetAttribute("data-test", "third attribute"); Assert.AreEqual(3, div.Dataset.Count()); Assert.AreEqual("some", div.Dataset.First().Key); Assert.AreEqual("test", div.Dataset.First().Value); Assert.AreEqual("test", div.Dataset.Last().Key); Assert.AreEqual("third attribute", div.Dataset.Last().Value); }
public BodyBasedPropagatesToAppBatTitleFormCanvasStrategy(IHtmlFormCanvas createFor) { _for = createFor; _el = new HTMLDivElement(); _el.SetAttribute(Magics.AttrDataFormId, createFor.FormId); _el.SetValuelessAttribute(Magics.AttrDataFormTitle); }
public void DOMStringMapBindingGet() { var value = "SomeUser"; var div = new HTMLDivElement(); div.SetAttribute("data-user", value); Assert.AreEqual(div.Dataset["user"], value); }
public RegularDomElementTitleFormCanvasStrategy(IHtmlFormCanvas createFor) { //title needs to be in container as we need margin in styling. //Margins are not reflected in neither ClientHeight nor OffsetHeight and one needs to use slow/unreliable //http://stackoverflow.com/questions/10787782/full-height-of-a-html-element-div-including-border-padding-and-margin _for = createFor; _el = new HTMLDivElement(); _el.SetAttribute(Magics.AttrDataFormId, createFor.FormId); _el.SetValuelessAttribute(Magics.AttrDataFormTitle); }
public void Hide() { _footer.SetAttribute("hidden", "hidden"); }
public void Merge(string[] htmlFiles, string outPath) { _htmlOutputPath = Path.GetDirectoryName(outPath); var temp = Path.Combine(_htmlOutputPath, "Output2"); Directory.CreateDirectory(temp); for (var i = 0; i < htmlFiles.Length; i++) { var htmlFile = htmlFiles[i]; var fileName = Path.GetFileName(htmlFile); var tempOutputFilePath = Path.Combine(temp, fileName); File.Copy(htmlFile, tempOutputFilePath); htmlFiles[i] = tempOutputFilePath; using (var htmlDocument = new HTMLDocument(htmlFiles[i])) { HTMLDivElement anchorDivContainer = (HTMLDivElement)htmlDocument.CreateElement("div"); HTMLBodyElement htmlDocumentBody = (HTMLBodyElement)htmlDocument.Body; HTMLHeadElement head = (HTMLHeadElement)htmlDocument.GetElementsByTagName("head")[0]; HTMLStyleElement htmlStyleElement = (HTMLStyleElement)htmlDocument.CreateElement("style"); var resetEvent = new AutoResetEvent(false); htmlStyleElement.OnLoad += (sender, e) => { resetEvent.Set(); }; htmlStyleElement.OnError += (sender, e) => { resetEvent.Set(); }; var cssContent = htmlDocument.CreateTextNode(_content); htmlStyleElement.AppendChild(cssContent); head.AppendChild(htmlStyleElement); resetEvent.WaitOne(); anchorDivContainer.SetAttribute("class", "container"); anchorDivContainer.SetAttribute("align", "center"); var paragraphElement = GetParagraphElement(htmlDocument, "Navigation"); anchorDivContainer.AppendChild(paragraphElement); if (i != 0) { var anchorBackward = GetAnchorElement(htmlDocument, "Backward"); anchorBackward.Href = Path.GetFileName(htmlFiles[i - 1]); anchorDivContainer.AppendChild(anchorBackward); } else { HTMLAnchorElement anchorBackward = GetAnchorElement(htmlDocument, "Backward"); anchorBackward.Href = Path.GetFileName(htmlFiles[htmlFiles.Length - 1]); anchorDivContainer.AppendChild(anchorBackward); } if (i != htmlFiles.Length - 1) { HTMLAnchorElement anchorForward = GetAnchorElement(htmlDocument, "Forward"); anchorForward.Href = Path.GetFileName(htmlFiles[i + 1]); anchorDivContainer.AppendChild(anchorForward); } else { HTMLAnchorElement anchorForward = GetAnchorElement(htmlDocument, "Forward"); anchorForward.Href = Path.GetFileName(htmlFiles[0]); anchorDivContainer.AppendChild(anchorForward); } Node firstChild = htmlDocumentBody.FirstChild; htmlDocumentBody.InsertBefore(anchorDivContainer, firstChild); var outputPath = Path.Combine(_htmlOutputPath, fileName); htmlDocument.Save(outputPath); htmlDocument.Dispose(); htmlFiles[i] = outputPath; ClearDirectory(temp); } } var name = Path.GetFileNameWithoutExtension(outPath); SaveDocument($"{name}.mhtml", htmlFiles[0], htmlFiles.Length); }