From a595a84f691009808d58226ba0ada52e995ff224 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Wed, 19 Nov 2014 16:17:11 +0100
Subject: Add tests for insert_{before|after} functions

---
 api_test/main.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

(limited to 'api_test')

diff --git a/api_test/main.c b/api_test/main.c
index 1ff606b..1f4e298 100644
--- a/api_test/main.c
+++ b/api_test/main.c
@@ -10,6 +10,7 @@
 static void
 create_tree(test_batch_runner *runner)
 {
+	char *html;
 	cmark_node *doc = cmark_node_new(CMARK_NODE_DOCUMENT);
 
 	cmark_node *p = cmark_node_new(CMARK_NODE_PARAGRAPH);
@@ -35,11 +36,36 @@ create_tree(test_batch_runner *runner)
 	OK(runner, cmark_node_append_child(emph, str2), "append3");
 	INT_EQ(runner, cmark_node_check(doc), 0, "append3 consistent");
 
-	char *html = (char *)cmark_render_html(doc);
+	html = (char *)cmark_render_html(doc);
 	STR_EQ(runner, html, "<p>Hello, <em>world</em>!</p>\n",
 	       "render_html");
 	free(html);
 
+	OK(runner, cmark_node_insert_before(str1, str3), "ins before1");
+	INT_EQ(runner, cmark_node_check(doc), 0, "ins before1 consistent");
+	// 31e
+	OK(runner, cmark_node_first_child(p) == str3, "ins before1 works");
+
+	OK(runner, cmark_node_insert_before(str1, emph), "ins before2");
+	INT_EQ(runner, cmark_node_check(doc), 0, "ins before2 consistent");
+	// 3e1
+	OK(runner, cmark_node_last_child(p) == str1, "ins before2 works");
+
+	OK(runner, cmark_node_insert_after(str1, str3), "ins after1");
+	INT_EQ(runner, cmark_node_check(doc), 0, "ins after1 consistent");
+	// e13
+	OK(runner, cmark_node_last_child(p) == str3, "ins after1 works");
+
+	OK(runner, cmark_node_insert_after(str1, emph), "ins after2");
+	INT_EQ(runner, cmark_node_check(doc), 0, "ins after2 consistent");
+	// 1e3
+	OK(runner, cmark_node_first_child(p) == str1, "ins after2 works");
+
+	html = (char *)cmark_render_html(doc);
+	STR_EQ(runner, html, "<p>Hello, <em>world</em>!</p>\n",
+	       "render_html after shuffling");
+	free(html);
+
 	cmark_node_destroy(doc);
 }
 
-- 
cgit v1.2.3