Looks like Roman Numeral V does not generate if there are sub-items under the previous item, IV.
Here are tests I ran. Only 1 and 3 passed.
I have a simple list of 6 items it gets correctly converted to a roman numeral html list:
[Test, Description("Simple List")]
public void TestListCreation()
{
// Arrange
var input = "Test list:\n\nI. Intro\n\nII. Background\n\nIII. Overall\n\nIV. Conclusion\n\nV. References\n\nVI. Appendix";
var expected = "<p>Test list:</p>\n<ol type=\"I\">\n<li><p>Intro</p>\n</li>\n<li><p>Background</p>\n</li>\n<li><p>Overall</p>\n</li>\n<li><p>Conclusion</p>\n</li>\n<li><p>References</p>\n</li>\n<li><p>Appendix</p>\n</li>\n</ol>\n";
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
// Act
var result = Markdown.ToHtml(input, pipeline);
// Assert
Assert.AreEqual(expected, result);
}
List with sub-sections:
[Test, Description("Detailed list with sub-sections")]
public void TestListCreation2()
{
// Arrange
var input = "Test list:\n\nI. Intro\n A. Part 1\n B. Part 2\n C. Part3\n\nII. Background\n A. Part 1\n B. Part 2\n C. Part3\n\nIII. Overall\n A. Part 1\n B. Part 2\n C. Part3\n\nIV. Conclusion\n A. Part 1\n B. Part 2\n C. Part3\n\nV. References\n A. Part 1\n B. Part 2\n C. Part3\n\nVI. Appendix\n A. Part 1\n B. Part 2\n C. Part3";
var expected = "<p>Test list:</p>\n<ol type=\"I\">\n<li>Intro</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"2\">\n<li>Background</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"3\">\n<li>Overall</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"4\">\n<li>Conclusion</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"5\">\n<li>References</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"6\">\n<li>Appendix</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>";
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
// Act
var result = Markdown.ToHtml(input, pipeline);
// Assert
Assert.AreEqual(expected, result);
}
List with no sub-items on item IV but sub-items on V
[Test, Description("List with no sub-itmes on IV but sub-items on V")]
public void TestListCreation4()
{
// Arrange
var input = "Test list:\n\nI. Intro\n A. Part 1\n B. Part 2\n C. Part3\n\nII. Background\n A. Part 1\n B. Part 2\n C. Part3\n\nIII. Overall\n A. Part 1\n B. Part 2\n C. Part3\n\nIV. Conclusion\n\nV. References\n A. Part 1\n B. Part 2\n C. Part3\n\nVI. Appendix\n A. Part 1\n B. Part 2\n C. Part3";
var expected = "<p>Test list:</p>\n<ol type=\"I\">\n<li>Intro</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"2\">\n<li>Background</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"3\">\n<li>Overall</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"4\">\n<li><p>Conclusion</p>\n</li>\n<li><p>References</p>\n</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"6\">\n<li>Appendix</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n";
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
// Act
var result = Markdown.ToHtml(input, pipeline);
// Assert
Assert.AreEqual(expected, result);
}
List with sub-items on IV but no sub-items on V
[Test, Description("List with sub-itmes on IV but no sub-items on V")]
public void TestListCreation5()
{
// Arrange
var input = "Test list:\n\nI. Intro\n A. Part 1\n B. Part 2\n C. Part3\n\nII. Background\n A. Part 1\n B. Part 2\n C. Part3\n\nIII. Overall\n A. Part 1\n B. Part 2\n C. Part3\n\nIV. Conclusion\n A. Part 1\n B. Part 2\n C. Part3\n\nV. References\n\nVI. Appendix\n A. Part 1\n B. Part 2\n C. Part3";
var expected = "<p>Test list:</p>\n<ol type=\"I\">\n<li>Intro</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"2\">\n<li>Background</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"3\">\n<li>Overall</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n<ol type=\"I\" start=\"4\">\n<li>Conclusion</li>\n</ol>\n<ol type=\"A\">\n<li><p>Part 1</p>\n</li>\n<li><p>Part 2</p>\n</li>\n<li><p>Part3</p>\n</li>\n</ol>\n<ol type=\"I\" start=\"5\">\n<li>References</li>\n</ol>\n<ol type=\"I\" start=\"6\">\n<li>Appendix</li>\n</ol>\n<ol type=\"A\">\n<li>Part 1</li>\n<li>Part 2</li>\n<li>Part3</li>\n</ol>\n";
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
// Act
var result = Markdown.ToHtml(input, pipeline);
// Assert
Assert.AreEqual(expected, result);
}
Looks like Roman Numeral
V
does not generate if there are sub-items under the previous item,IV
. Here are tests I ran. Only 1 and 3 passed.I have a simple list of 6 items it gets correctly converted to a roman numeral html list:
List with sub-sections:
List with no sub-items on item
IV
but sub-items onV
List with sub-items on
IV
but no sub-items onV