/// <summary>Visits the provided <paramref name="emphasis"/> element.</summary> /// <param name="emphasis">The <see cref="EmphasisElement"/> to visit.</param> protected internal override void Visit(EmphasisElement emphasis) { BeginElementWithoutIndent("em"); foreach (var element in emphasis.Content) { element.Accept(this); } EndElementWithoutIndent(); }
public void EmphasisElement_New_Instance_Should_Produce_Correct_Tag() { //Arrange const string Tag = "em"; var element = new EmphasisElement("Here I am. This is me."); //Act string tag = element.Tag; //Assert Assert.NotNull(element); Assert.Equal(Tag, element.Tag); }
private Element _GetCreoleElementFrom(TokenRange <CreoleTokenCode> tokens, CreoleRichTextElementNodeData nodeData) { Element result = null; switch (nodeData.ElementType) { case CreoleRichTextElementType.Code: result = new CodeElement( _GetContentFrom(tokens, nodeData) ); break; case CreoleRichTextElementType.Hyperlink: result = new HyperlinkElement( _GetUrlFrom(tokens, nodeData), _GetCreoleElements(tokens, nodeData.ContentStartIndex, nodeData.ContentEndIndex, nodeData.ChildNodes) ); break; case CreoleRichTextElementType.Image: if (nodeData.UrlEndIndex < nodeData.ContentStartIndex) { result = new ImageElement( _GetUrlFrom(tokens, nodeData), _GetContentFrom(tokens, nodeData) ); } else { result = new ImageElement( _GetUrlFrom(tokens, nodeData) ); } break; case CreoleRichTextElementType.Plugin: result = new PluginElement( _GetContentFrom(tokens, nodeData) ); break; case CreoleRichTextElementType.LineBreak: result = _creoleLineBreakElement; break; case CreoleRichTextElementType.InlineHyperlink: var url = _GetUrlFrom(tokens, nodeData); result = new HyperlinkElement(url, new[] { new TextElement(url) }); break; case CreoleRichTextElementType.EscapedInlineHyperlink: result = new TextElement( _GetUrlFrom(tokens, nodeData) ); break; case CreoleRichTextElementType.Emphasis: result = new EmphasisElement( _GetCreoleElements(tokens, nodeData.ContentStartIndex, nodeData.ContentEndIndex, nodeData.ChildNodes) ); break; case CreoleRichTextElementType.Strong: result = new StrongElement( _GetCreoleElements(tokens, nodeData.ContentStartIndex, nodeData.ContentEndIndex, nodeData.ChildNodes) ); break; } return(result); }
/// <summary>Visits the provided <paramref name="emphasis"/> element.</summary> /// <param name="emphasis">The <see cref="EmphasisElement"/> to visit.</param> protected internal abstract void Visit(EmphasisElement emphasis);