diff options
Diffstat (limited to 'api_test/main.c')
-rw-r--r-- | api_test/main.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/api_test/main.c b/api_test/main.c index c549ee8..abafd96 100644 --- a/api_test/main.c +++ b/api_test/main.c @@ -508,6 +508,49 @@ static void render_html(test_batch_runner *runner) { cmark_node_free(doc); } +static void render_man(test_batch_runner *runner) { + char *man; + + static const char markdown[] = "foo *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); + + man = cmark_render_man(doc, CMARK_OPT_DEFAULT, 20); + STR_EQ(runner, man, + ".PP\n" + "foo \\f[I]bar\\f[]\n" + ".IP \\[bu] 2\n" + "Lorem ipsum dolor\n" + "sit amet,\n" + "consectetur\n" + "adipiscing elit,\n" + ".IP \\[bu] 2\n" + "sed do eiusmod\n" + "tempor incididunt ut\n" + "labore et dolore\n" + "magna aliqua.\n", + "render document with wrapping"); + free(man); + man = cmark_render_man(doc, CMARK_OPT_DEFAULT, 0); + STR_EQ(runner, man, + ".PP\n" + "foo \\f[I]bar\\f[]\n" + ".IP \\[bu] 2\n" + "Lorem ipsum dolor sit amet,\n" + "consectetur adipiscing elit,\n" + ".IP \\[bu] 2\n" + "sed do eiusmod tempor incididunt\n" + "ut labore et dolore magna aliqua.\n", + "render document without wrapping"); + free(man); + cmark_node_free(doc); +} + static void utf8(test_batch_runner *runner) { // Ranges test_char(runner, 1, "\x01", "valid utf8 01"); @@ -690,6 +733,7 @@ int main() { hierarchy(runner); parser(runner); render_html(runner); + render_man(runner); utf8(runner); line_endings(runner); numeric_entities(runner); |