From 92fac8732523b725dfb7012abf40529bb5f28963 Mon Sep 17 00:00:00 2001 From: Eugene Dubovskiy Date: Fri, 24 Dec 2021 09:48:49 +0300 Subject: [PATCH] Fix empty lines and tests --- .../MarkupConverterTests.cs | 38 +++++++++++++++++++ .../Nodes/HeadersTests.cs | 2 +- .../Nodes/ParagraphTests.cs | 2 +- JiraMarkupConverter.Tests/Nodes/TableTests.cs | 2 +- JiraMarkupConverter/MarkupConverter.cs | 2 +- JiraMarkupConverter/Nodes/HeaderNode.cs | 4 +- JiraMarkupConverter/Nodes/ParagraphNode.cs | 1 - JiraMarkupConverter/Nodes/TableNode.cs | 2 - JiraMarkupConverter/Nodes/TableRowNode.cs | 2 +- readme.md | 6 +-- 10 files changed, 48 insertions(+), 13 deletions(-) diff --git a/JiraMarkupConverter.Tests/MarkupConverterTests.cs b/JiraMarkupConverter.Tests/MarkupConverterTests.cs index 4015373..62b1f37 100644 --- a/JiraMarkupConverter.Tests/MarkupConverterTests.cs +++ b/JiraMarkupConverter.Tests/MarkupConverterTests.cs @@ -62,5 +62,43 @@ namespace JiraMarkupConverter.Tests expectedObj.ShouldEqual(result); } + + [Theory] + [InlineData( +@" + + + + + + + +

Sample header

+

Sample paragraph

+ + + + + + + + + +
Header 1Header 2
Cell 1Cell 2
+ +", +@"h1.Sample header +Sample paragraph +||Header 1||Header 2|| +|Cell 1|Cell 2| +")] + public void ConvertFromHtml_MarkupConvertedToString_ResultMatchesToExpected(string html, string expectedMarkup) + { + var sut = new MarkupConverter(); + var jiraMarkupObject = sut.ConvertFromHtml(html); + var actual = jiraMarkupObject.ToMarkupString(); + + Assert.Equal(expectedMarkup, actual); + } } } diff --git a/JiraMarkupConverter.Tests/Nodes/HeadersTests.cs b/JiraMarkupConverter.Tests/Nodes/HeadersTests.cs index d8c2e56..b1f7f6e 100644 --- a/JiraMarkupConverter.Tests/Nodes/HeadersTests.cs +++ b/JiraMarkupConverter.Tests/Nodes/HeadersTests.cs @@ -8,7 +8,7 @@ namespace JiraMarkupConverter.Tests.Nodes [Fact] public void ToMarkupString_SomeHeaders_ReturnsValidString() { - var jira = "\r\nh1.This is a header1.\r\nh2.This is a header2."; + var jira = "h1.This is a header1.\r\nh2.This is a header2.\r\n"; var node = new RootNode(); node.AddChildNode(new HeaderNode("This is a header1.", Header.H1)); node.AddChildNode(new HeaderNode("This is a header2.", Header.H2)); diff --git a/JiraMarkupConverter.Tests/Nodes/ParagraphTests.cs b/JiraMarkupConverter.Tests/Nodes/ParagraphTests.cs index 85fdbf2..ab88020 100644 --- a/JiraMarkupConverter.Tests/Nodes/ParagraphTests.cs +++ b/JiraMarkupConverter.Tests/Nodes/ParagraphTests.cs @@ -8,7 +8,7 @@ namespace JiraMarkupConverter.Tests.Nodes [Fact] public void ToMarkupString_HtmlContainsSomeParagraph_ReturnsValidString() { - var jira = "\r\nThis is a paragraph.\r\n\r\nThis is second paragraph.\r\n"; + var jira = "This is a paragraph.\r\nThis is second paragraph.\r\n"; var node = new RootNode(); node.AddChildNode(new ParagraphNode("This is a paragraph.")); node.AddChildNode(new ParagraphNode("This is second paragraph.")); diff --git a/JiraMarkupConverter.Tests/Nodes/TableTests.cs b/JiraMarkupConverter.Tests/Nodes/TableTests.cs index ad8f4f4..e2a1304 100644 --- a/JiraMarkupConverter.Tests/Nodes/TableTests.cs +++ b/JiraMarkupConverter.Tests/Nodes/TableTests.cs @@ -20,7 +20,7 @@ namespace JiraMarkupConverter.Tests.Nodes [Fact] public void ToMarkupString_CreateTable_ReturnsValidString() { - var jira = $"\r\n\r\n||Firstname||Lastname||Age||\r\n|Jill|Smith|50|\r\n|Eve|Jackson|94|\r\n"; + var jira = $"||Firstname||Lastname||Age||\r\n|Jill|Smith|50|\r\n|Eve|Jackson|94|\r\n"; var node = new TableNode(); var rowHeader = new TableRowNode(TableRowType.Header); var rowDataFirst = new TableRowNode(TableRowType.Data); diff --git a/JiraMarkupConverter/MarkupConverter.cs b/JiraMarkupConverter/MarkupConverter.cs index 586e278..12e90d3 100644 --- a/JiraMarkupConverter/MarkupConverter.cs +++ b/JiraMarkupConverter/MarkupConverter.cs @@ -51,7 +51,7 @@ namespace JiraMarkupConverter { "th", new DefaultNodeFactory(() => new TableCellNode()) }, { "td", new DefaultNodeFactory(() => new TableCellNode()) }, { "tr", new TableRowNodeFactory() }, - { "table", new DefaultNodeFactory(() => new TableCellNode()) }, + { "table", new DefaultNodeFactory(() => new TableNode()) }, }; /// diff --git a/JiraMarkupConverter/Nodes/HeaderNode.cs b/JiraMarkupConverter/Nodes/HeaderNode.cs index b8f199e..e508300 100644 --- a/JiraMarkupConverter/Nodes/HeaderNode.cs +++ b/JiraMarkupConverter/Nodes/HeaderNode.cs @@ -51,10 +51,12 @@ namespace JiraMarkupConverter.Nodes { var headerMarkupString = _headerToMarkupMap.GetValueOrDefault(Header); - builder.AppendLine(); builder.Append(headerMarkupString); + this.RenderChildNodes(builder); + builder.AppendLine(); + return builder; } } diff --git a/JiraMarkupConverter/Nodes/ParagraphNode.cs b/JiraMarkupConverter/Nodes/ParagraphNode.cs index fc5f408..6ac9338 100644 --- a/JiraMarkupConverter/Nodes/ParagraphNode.cs +++ b/JiraMarkupConverter/Nodes/ParagraphNode.cs @@ -26,7 +26,6 @@ namespace JiraMarkupConverter.Nodes /// String with markup. public override StringBuilder ToMarkupString(StringBuilder builder) { - builder.AppendLine(); this.RenderChildNodes(builder); builder.AppendLine(); diff --git a/JiraMarkupConverter/Nodes/TableNode.cs b/JiraMarkupConverter/Nodes/TableNode.cs index 6081135..224accb 100644 --- a/JiraMarkupConverter/Nodes/TableNode.cs +++ b/JiraMarkupConverter/Nodes/TableNode.cs @@ -21,9 +21,7 @@ namespace JiraMarkupConverter.Nodes /// String with markup. public override StringBuilder ToMarkupString(StringBuilder builder) { - builder.AppendLine(); this.RenderChildNodes(builder); - builder.AppendLine(); return builder; } diff --git a/JiraMarkupConverter/Nodes/TableRowNode.cs b/JiraMarkupConverter/Nodes/TableRowNode.cs index cd82782..f566e8e 100644 --- a/JiraMarkupConverter/Nodes/TableRowNode.cs +++ b/JiraMarkupConverter/Nodes/TableRowNode.cs @@ -41,7 +41,6 @@ namespace JiraMarkupConverter.Nodes public override StringBuilder ToMarkupString(StringBuilder builder) { var rowTypeMarkupString = _rowTypeToMarkupMap.GetValueOrDefault(this.TypeRow); - builder.AppendLine(); foreach (var child in ChildNodes) { @@ -50,6 +49,7 @@ namespace JiraMarkupConverter.Nodes } builder.Append(rowTypeMarkupString); + builder.AppendLine(); return builder; } diff --git a/readme.md b/readme.md index 8d37c0d..d5af08b 100644 --- a/readme.md +++ b/readme.md @@ -48,19 +48,17 @@ Code to convert html to jira markup will look like: // Get markup string from object by calling ToMarkupString(). Console.WriteLine(jiraMarkupObject.ToMarkupString()); ``` -Output of this code: +Output: ``` h1.Sample header Sample paragraph - - ||Header 1||Header 2|| |Cell 1|Cell 2| ``` # Manual markup building -Library support also building and modifying of nodes before convertion to markup string: +Example: ``` var rootNode = new RootNode(); -- GitLab