From 1d9b4cb920db48b426a4eb9482480db0f921ba43 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 28 Dec 2015 16:17:52 -0800 Subject: Added a minimal man renderer test to api tests. --- api_test/main.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'api_test') 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); -- cgit v1.2.3