summaryrefslogtreecommitdiff
path: root/libcmark-gfm-extensions/tests/basic/driver.c
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-05-03 22:19:55 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2019-05-15 17:09:24 +0300
commit19dc42649183b2e1cd37be1ca69145dafe1330a2 (patch)
tree54e562b46a52664d98f56fcce2fdbdfda973c94d /libcmark-gfm-extensions/tests/basic/driver.c
parentcec0fb3f50fd924614ced487f79b57c92bff6584 (diff)
Add implementation
Diffstat (limited to 'libcmark-gfm-extensions/tests/basic/driver.c')
-rw-r--r--libcmark-gfm-extensions/tests/basic/driver.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/libcmark-gfm-extensions/tests/basic/driver.c b/libcmark-gfm-extensions/tests/basic/driver.c
new file mode 100644
index 0000000..4d77abd
--- /dev/null
+++ b/libcmark-gfm-extensions/tests/basic/driver.c
@@ -0,0 +1,46 @@
+/*
+ * file : tests/basic/driver.c
+ * copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC
+ * license : FreeBSD License; see accompanying COPYING file
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+
+#include <cmark-gfm.h>
+#include <cmark-gfm-extension_api.h>
+#include <cmark-gfm-core-extensions.h>
+
+int
+main (int argc, const char* argv[])
+{
+ assert (argc == 2);
+
+ const char* from = argv[1];
+
+ cmark_gfm_core_extensions_ensure_registered ();
+
+ cmark_parser* p = cmark_parser_new (CMARK_OPT_DEFAULT |
+ CMARK_OPT_VALIDATE_UTF8);
+
+ cmark_syntax_extension* e = cmark_find_syntax_extension ("strikethrough");
+ cmark_parser_attach_syntax_extension (p, e);
+
+
+ cmark_parser_feed (p, from, strlen (from));
+
+ cmark_node* doc = cmark_parser_finish (p);
+
+ char* to = cmark_render_html (doc,
+ CMARK_OPT_DEFAULT,
+ NULL /* extensions */);
+
+ printf ("%s", to);
+
+ cmark_get_default_mem_allocator ()->free (to);
+ cmark_node_free (doc);
+ cmark_parser_free (p);
+
+ return 0;
+}