| 930 | } |
| 931 | |
| 932 | static void sub_document(test_batch_runner *runner) { |
| 933 | cmark_node *doc = cmark_node_new(CMARK_NODE_DOCUMENT); |
| 934 | cmark_node *list = cmark_node_new(CMARK_NODE_LIST); |
| 935 | OK(runner, cmark_node_append_child(doc, list), "list"); |
| 936 | |
| 937 | { |
| 938 | cmark_node *item = cmark_node_new(CMARK_NODE_ITEM); |
| 939 | OK(runner, cmark_node_append_child(list, item), "append_0"); |
| 940 | static const char markdown[] = |
| 941 | "Hello “ <http://www.google.com>\n"; |
| 942 | cmark_parser *parser = cmark_parser_new_with_mem_into_root( |
| 943 | CMARK_OPT_DEFAULT, |
| 944 | cmark_get_default_mem_allocator(), |
| 945 | item); |
| 946 | cmark_parser_feed(parser, markdown, sizeof(markdown) - 1); |
| 947 | OK(runner, cmark_parser_finish(parser) != NULL, "parser_finish_0"); |
| 948 | cmark_parser_free(parser); |
| 949 | } |
| 950 | |
| 951 | { |
| 952 | cmark_node *item = cmark_node_new(CMARK_NODE_ITEM); |
| 953 | OK(runner, cmark_node_append_child(list, item), "append_0"); |
| 954 | static const char markdown[] = |
| 955 | "Bye “ <http://www.geocities.com>\n"; |
| 956 | cmark_parser *parser = cmark_parser_new_with_mem_into_root( |
| 957 | CMARK_OPT_DEFAULT, |
| 958 | cmark_get_default_mem_allocator(), |
| 959 | item); |
| 960 | cmark_parser_feed(parser, markdown, sizeof(markdown) - 1); |
| 961 | OK(runner, cmark_parser_finish(parser) != NULL, "parser_finish_0"); |
| 962 | cmark_parser_free(parser); |
| 963 | } |
| 964 | |
| 965 | char *xml = cmark_render_xml(doc, CMARK_OPT_DEFAULT); |
| 966 | STR_EQ(runner, xml, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" |
| 967 | "<!DOCTYPE document SYSTEM \"CommonMark.dtd\">\n" |
| 968 | "<document xmlns=\"http://commonmark.org/xml/1.0\">\n" |
| 969 | " <list type=\"bullet\" tight=\"false\">\n" |
| 970 | " <item>\n" |
| 971 | " <paragraph>\n" |
| 972 | " <text xml:space=\"preserve\">Hello “ </text>\n" |
| 973 | " <link destination=\"http://www.google.com\">\n" |
| 974 | " <text xml:space=\"preserve\">http://www.google.com</text>\n" |
| 975 | " </link>\n" |
| 976 | " </paragraph>\n" |
| 977 | " </item>\n" |
| 978 | " <item>\n" |
| 979 | " <paragraph>\n" |
| 980 | " <text xml:space=\"preserve\">Bye “ </text>\n" |
| 981 | " <link destination=\"http://www.geocities.com\">\n" |
| 982 | " <text xml:space=\"preserve\">http://www.geocities.com</text>\n" |
| 983 | " </link>\n" |
| 984 | " </paragraph>\n" |
| 985 | " </item>\n" |
| 986 | " </list>\n" |
| 987 | "</document>\n", |
| 988 | "nested document XML is as expected"); |
| 989 | free(xml); |
no test coverage detected