diff --git a/api_test/main.c b/api_test/main.c
@@ -598,6 +598,43 @@ static void render_latex(test_batch_runner *runner) {
cmark_node_free(doc);
}
+static void render_commonmark(test_batch_runner *runner) {
+ char *commonmark;
+
+ static const char markdown[] = "\\- foo *bar* \\*bar\\*\n"
+ "\n"
+ "- Lorem ipsum dolor sit - amet,\n"
+ " consectetur adipiscing elit,\n"
+ "- sed do eiusmod tempor incididunt\n"
+ " ut labore et dolore magna aliqua.\n";
+ cmark_node *doc =
+ cmark_parse_document(markdown, sizeof(markdown) - 1, CMARK_OPT_DEFAULT);
+
+ commonmark = cmark_render_commonmark(doc, CMARK_OPT_DEFAULT, 24);
+ STR_EQ(runner, commonmark,
+ "\\- foo *bar* \\*bar\\*\n"
+ "\n"
+ "* Lorem ipsum dolor sit\n"
+ " \\- amet, consectetur\n"
+ " adipiscing elit,\n"
+ "* sed do eiusmod tempor\n"
+ " incididunt ut labore\n"
+ " et dolore magna\n"
+ " aliqua.\n",
+ "render document with wrapping");
+ free(commonmark);
+ commonmark = cmark_render_commonmark(doc, CMARK_OPT_DEFAULT, 0);
+ STR_EQ(runner, commonmark, "\\- foo *bar* \\*bar\\*\n"
+ "\n"
+ "* Lorem ipsum dolor sit - amet,\n"
+ " consectetur adipiscing elit,\n"
+ "* sed do eiusmod tempor incididunt\n"
+ " ut labore et dolore magna aliqua.\n",
+ "render document without wrapping");
+ free(commonmark);
+ cmark_node_free(doc);
+}
+
static void utf8(test_batch_runner *runner) {
// Ranges
test_char(runner, 1, "\x01", "valid utf8 01");
@@ -782,6 +819,7 @@ int main() {
render_html(runner);
render_man(runner);
render_latex(runner);
+ render_commonmark(runner);
utf8(runner);
line_endings(runner);
numeric_entities(runner);