From 19dc42649183b2e1cd37be1ca69145dafe1330a2 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 3 May 2019 22:19:55 +0300 Subject: Add implementation --- libcmark-gfm-extensions/tests/.gitignore | 8 ++++ libcmark-gfm-extensions/tests/basic/buildfile | 8 ++++ libcmark-gfm-extensions/tests/basic/driver.c | 46 ++++++++++++++++++++++ libcmark-gfm-extensions/tests/basic/testscript | 5 +++ libcmark-gfm-extensions/tests/build/.gitignore | 3 ++ .../tests/build/bootstrap.build | 9 +++++ libcmark-gfm-extensions/tests/build/root.build | 16 ++++++++ libcmark-gfm-extensions/tests/buildfile | 5 +++ 8 files changed, 100 insertions(+) create mode 100644 libcmark-gfm-extensions/tests/.gitignore create mode 100644 libcmark-gfm-extensions/tests/basic/buildfile create mode 100644 libcmark-gfm-extensions/tests/basic/driver.c create mode 100644 libcmark-gfm-extensions/tests/basic/testscript create mode 100644 libcmark-gfm-extensions/tests/build/.gitignore create mode 100644 libcmark-gfm-extensions/tests/build/bootstrap.build create mode 100644 libcmark-gfm-extensions/tests/build/root.build create mode 100644 libcmark-gfm-extensions/tests/buildfile (limited to 'libcmark-gfm-extensions/tests') diff --git a/libcmark-gfm-extensions/tests/.gitignore b/libcmark-gfm-extensions/tests/.gitignore new file mode 100644 index 0000000..662178d --- /dev/null +++ b/libcmark-gfm-extensions/tests/.gitignore @@ -0,0 +1,8 @@ +# Test executables. +# +driver + +# Testscript output directories (can be symlinks). +# +test +test-* diff --git a/libcmark-gfm-extensions/tests/basic/buildfile b/libcmark-gfm-extensions/tests/basic/buildfile new file mode 100644 index 0000000..a5014fe --- /dev/null +++ b/libcmark-gfm-extensions/tests/basic/buildfile @@ -0,0 +1,8 @@ +# file : tests/basic/buildfile +# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd +# license : FreeBSD License; see accompanying COPYING file + +import libs = libcmark-gfm-extensions%lib{cmark-gfm-extensions} +import libs += libcmark-gfm%lib{cmark-gfm} + +exe{driver}: {h c}{**} $libs testscript 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 +#include +#include + +#include +#include +#include + +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; +} diff --git a/libcmark-gfm-extensions/tests/basic/testscript b/libcmark-gfm-extensions/tests/basic/testscript new file mode 100644 index 0000000..438f059 --- /dev/null +++ b/libcmark-gfm-extensions/tests/basic/testscript @@ -0,0 +1,5 @@ +# file : tests/basic/testscript +# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd +# license : FreeBSD License; see accompanying COPYING file + +$* '~~Hi~~ Hello *world*' >'

Hi Hello world

' diff --git a/libcmark-gfm-extensions/tests/build/.gitignore b/libcmark-gfm-extensions/tests/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/libcmark-gfm-extensions/tests/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/libcmark-gfm-extensions/tests/build/bootstrap.build b/libcmark-gfm-extensions/tests/build/bootstrap.build new file mode 100644 index 0000000..cb2b962 --- /dev/null +++ b/libcmark-gfm-extensions/tests/build/bootstrap.build @@ -0,0 +1,9 @@ +# file : tests/build/bootstrap.build +# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd +# license : FreeBSD License; see accompanying COPYING file + +project = # Unnamed tests subproject. + +using config +using test +using dist diff --git a/libcmark-gfm-extensions/tests/build/root.build b/libcmark-gfm-extensions/tests/build/root.build new file mode 100644 index 0000000..1a4dbbe --- /dev/null +++ b/libcmark-gfm-extensions/tests/build/root.build @@ -0,0 +1,16 @@ +# file : tests/build/root.build +# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd +# license : FreeBSD License; see accompanying COPYING file + +using c + +h{*}: extension = h +c{*}: extension = c + +# Every exe{} in this subproject is by default a test. +# +exe{*}: test = true + +# The test target for cross-testing (running tests under Wine, etc). +# +test.target = $c.target diff --git a/libcmark-gfm-extensions/tests/buildfile b/libcmark-gfm-extensions/tests/buildfile new file mode 100644 index 0000000..3961c0a --- /dev/null +++ b/libcmark-gfm-extensions/tests/buildfile @@ -0,0 +1,5 @@ +# file : tests/buildfile +# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd +# license : FreeBSD License; see accompanying COPYING file + +./: {*/ -build/} -- cgit v1.1