コード例 #1
0
ファイル: HtmlWriterVisitor.cs プロジェクト: Andrei15193/Mup
 /// <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();
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 /// <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);