コード例 #1
0
        private static string AddFragments(TagReader reader, HtmlFragment parentFragment, Stack <string> openTagStack)
        {
            while (reader.Read())
            {
                parentFragment.TryToAddText(HtmlText.Create(reader.Document, reader.PreviousTag, reader.CurrentTag));

                if (reader.CurrentTag.TagType == TagType.Close && openTagStack.Any(t => t.Equals(reader.CurrentTag.Name, StringComparison.CurrentCultureIgnoreCase)))
                {
                    return(reader.CurrentTag.Name);
                }

                var node = parentFragment.AddNode(reader.CurrentTag);
                node.Parent = parentFragment;

                if (reader.CurrentTag.TagType == TagType.Open)
                {
                    openTagStack.Push(reader.CurrentTag.Name);

                    var lastClosed = AddFragments(reader, node, openTagStack);
                    if (lastClosed != openTagStack.Pop())
                    {
                        return(lastClosed);
                    }
                }
            }
            parentFragment.TryToAddText(HtmlText.Create(reader.Document, reader.CurrentTag, null));
            return(null);
        }
コード例 #2
0
        public void ToString_ReturnString_Indent()
        {
            // Arrange
            var obj = HtmlText.Create(contentRaw);

            // Assert
            Assert.Equal($"\t{contentEncoded}\n", obj.ToString(1));
        }
コード例 #3
0
        public void Equals_Null()
        {
            // Arrange
            var orig = HtmlText.Create(contentRaw, false);

            // Assert
            Assert.False(orig.Equals(null));
        }
コード例 #4
0
        public void Equals_IsNotEqual()
        {
            // Arrange
            var orig  = HtmlText.Create(contentRaw, false);
            var other = HtmlText.Create(contentEncoded, false);

            // Assert
            Assert.False(orig.Equals(other));
        }
コード例 #5
0
        public void Equals_IsEqual()
        {
            // Arrange
            var orig = HtmlText.Create(contentRaw, false);
            var copy = HtmlText.Create(contentRaw, false);

            // Assert
            Assert.True(orig.Equals(copy));
        }
コード例 #6
0
        public void Create_ReturnNewInstance_Raw()
        {
            // Act
            var obj = HtmlText.Create(contentRaw, false);

            // Assert
            Assert.Equal(contentRaw, obj.Content);
            Assert.IsType <HtmlText>(obj);
        }
コード例 #7
0
        public void GetHashCode_IsNotEqual()
        {
            // Arrange
            var orig  = HtmlText.Create(contentRaw, false);
            var other = HtmlText.Create(contentEncoded, false);

            // Assert
            Assert.NotEqual(orig.GetHashCode(), other.GetHashCode());
        }
コード例 #8
0
        public void GetHashCode_IsEqual()
        {
            // Arrange
            var orig = HtmlText.Create(contentRaw, false);
            var copy = HtmlText.Create(contentRaw, false);

            // Assert
            Assert.Equal(orig.GetHashCode(), copy.GetHashCode());
        }
コード例 #9
0
        public void Equals_OtherObject()
        {
            // Arrange
            var orig = HtmlText.Create(contentRaw, false);
            var str  = "not same";

            // Assert
            Assert.False(orig.Equals(str));
        }
コード例 #10
0
        public static void HtmlTextAndTag()
        {
            var html = HtmlTag.Create("div", new HtmlElement[] {
                HtmlTag.Create("h1", "First headline"),
                HtmlText.Create("Lorem ipsum dolor sit amet, consetetur sadipscing elitr."),
                HtmlTag.Create("h1", "Second headline"),
                HtmlText.Create("Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."),
                HtmlTag.Create("h1", "Third headline"),
                HtmlText.Create("Lorem ipsum dolor sit amet, consetetur sadipscing elitr."),
            });

            Console.WriteLine(html);
        }
コード例 #11
0
ファイル: Image.cs プロジェクト: Ste-Tis/HtmlCodeBuilder
        public static void HtmlImage()
        {
            var html = HtmlTag.Create("p", new HtmlElement[] {
                HtmlText.Create("Lorem ipsum dolor sit amet, consetetur sadipscing elitr."),
                HtmlTag.Create("figure", new[] {
                    HtmlTag.Create("img").AddAttribute("src", "https://www.mysite.com/mylogo.png").AddStyles(
                        new[] { "width", "8cm", "height", "auto" }
                        ),
                    HtmlTag.Create("figcaption", "Assystem Logo")
                }),
                HtmlText.Create("Lorem ipsum dolor sit amet, consetetur sadipscing elitr.")
            });

            Console.WriteLine(html);
        }