From 8c01cf054971a1ec4cd663edaca6e2d035236133 Mon Sep 17 00:00:00 2001 From: Miha Zupan Date: Tue, 21 Oct 2025 08:37:43 +0200 Subject: [PATCH] Add another test for pipe tables (#907) --- .../Specs/PipeTableSpecs.generated.cs | 152 ++++++++++++++++++ src/Markdig.Tests/Specs/PipeTableSpecs.md | 144 +++++++++++++++++ 2 files changed, 296 insertions(+) diff --git a/src/Markdig.Tests/Specs/PipeTableSpecs.generated.cs b/src/Markdig.Tests/Specs/PipeTableSpecs.generated.cs index 8de5891c..c05b3d78 100644 --- a/src/Markdig.Tests/Specs/PipeTableSpecs.generated.cs +++ b/src/Markdig.Tests/Specs/PipeTableSpecs.generated.cs @@ -858,5 +858,157 @@ namespace Markdig.Tests.Specs.PipeTables TestParser.TestSpec("Some\n**text**.\n| A |\n|---|\n| B |", "

Some\ntext.

\n\n\n\n\n\n\n\n\n\n\n\n
A
B
", "pipetables|advanced", context: "Example 26\nSection Extensions / Pipe Table\n"); } + + // Tables can be nested inside other blocks, like lists: + [Test] + public void ExtensionsPipeTable_Example027() + { + // Example 27 + // Section: Extensions / Pipe Table + // + // The following Markdown: + // Bullet list + // * Table 1 + // + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // * Table 2 + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // * Table 3 + // Lorem ipsum ... + // Lorem ipsum ... + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // + // Ordered list + // 1. Table 1 + // + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // 2. Table 2 + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // 3. Table 3 + // Lorem ipsum ... + // Lorem ipsum ... + // | Header 1 | Header 2 | + // |----------------|----------------| + // | Row 1 Column 1 | Row 1 Column 2 | + // + // Should be rendered as: + //

Bullet list

+ // + //

Ordered list

+ //
    + //
  1. Table 1

    + // + // + // + // + // + // + // + // + // + // + // + // + // + //
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  2. + //
  3. Table 2

    + // + // + // + // + // + // + // + // + // + // + // + // + // + //
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  4. + //
  5. Table 3 + // Lorem ipsum ... + // Lorem ipsum ...

    + // + // + // + // + // + // + // + // + // + // + // + // + // + //
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  6. + //
+ + TestParser.TestSpec("Bullet list\n* Table 1\n\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |\n\n* Table 2\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |\n\n* Table 3\n Lorem ipsum ...\n Lorem ipsum ...\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |\n\n\nOrdered list\n1. Table 1\n\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |\n\n2. Table 2\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |\n\n3. Table 3\n Lorem ipsum ...\n Lorem ipsum ...\n | Header 1 | Header 2 |\n |----------------|----------------|\n | Row 1 Column 1 | Row 1 Column 2 |", "

Bullet list

\n\n

Ordered list

\n
    \n
  1. Table 1

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  2. \n
  3. Table 2

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  4. \n
  5. Table 3\nLorem ipsum ...\nLorem ipsum ...

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  6. \n
", "pipetables|advanced", context: "Example 27\nSection Extensions / Pipe Table\n"); + } } } diff --git a/src/Markdig.Tests/Specs/PipeTableSpecs.md b/src/Markdig.Tests/Specs/PipeTableSpecs.md index 8ea5fe99..195f6fe7 100644 --- a/src/Markdig.Tests/Specs/PipeTableSpecs.md +++ b/src/Markdig.Tests/Specs/PipeTableSpecs.md @@ -637,4 +637,148 @@ Some +```````````````````````````````` + +Tables can be nested inside other blocks, like lists: + +```````````````````````````````` example +Bullet list +* Table 1 + + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | + +* Table 2 + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | + +* Table 3 + Lorem ipsum ... + Lorem ipsum ... + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | + + +Ordered list +1. Table 1 + + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | + +2. Table 2 + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | + +3. Table 3 + Lorem ipsum ... + Lorem ipsum ... + | Header 1 | Header 2 | + |----------------|----------------| + | Row 1 Column 1 | Row 1 Column 2 | +. +

Bullet list

+ +

Ordered list

+
    +
  1. Table 1

    + + + + + + + + + + + + + +
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  2. +
  3. Table 2

    + + + + + + + + + + + + + +
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  4. +
  5. Table 3 +Lorem ipsum ... +Lorem ipsum ...

    + + + + + + + + + + + + + +
    Header 1Header 2
    Row 1 Column 1Row 1 Column 2
  6. +
```````````````````````````````` \ No newline at end of file