diff --git a/src/PortToDocs/tests/PortToDocs.Strings.Tests.cs b/src/PortToDocs/tests/PortToDocs.Strings.Tests.cs index 2b62e6a..802540b 100644 --- a/src/PortToDocs/tests/PortToDocs.Strings.Tests.cs +++ b/src/PortToDocs/tests/PortToDocs.Strings.Tests.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.Collections.Generic; using System.Text; using System.Xml.Linq; @@ -2466,6 +2467,67 @@ I am paragraph number three. TestWithStrings(originalIntellisense, originalDocs, expectedDocs, configuration); } + [Fact] + public void Para_EdgeCases() + { + // Convert triple slash new lines to para xml items. If there are paras too, keep them. + + string originalIntellisense = @" + + + MyAssembly + + + + I am paragraph one with pre-existing paras. +I am paragraph number two but I am +divided into two lines. I am paragraph three but I am in the same line, my spacing between lines should be ignored + and the next newlines should be ignored. + + + I am the fourth paragraph with pre-existing paras. + + + +"; + + string originalDocs = @" + + + MyAssembly + + + To be added. + To be added. + + +"; + + string expectedDocs = @" + + + MyAssembly + + + + I am paragraph one with pre-existing paras. + I am paragraph number two but I am divided into two lines. I am paragraph three but I am in the same line, my spacing between lines should be ignored and the next newlines should be ignored. + I am the fourth paragraph with pre-existing paras. + + To be added. + + +"; + + Configuration configuration = new() + { + MarkdownRemarks = true + }; + configuration.IncludedAssemblies.Add(FileTestData.TestAssembly); + + TestWithStrings(originalIntellisense, originalDocs, expectedDocs, configuration); + } + [Fact] public void Convert_CodeDataDevCommentType_To_ExpectedElementNames() { @@ -2619,6 +2681,4 @@ private static void TestWithStrings(List intellisenseFiles, List