aboutsummaryrefslogtreecommitdiffstats
path: root/tests/check_content_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check_content_parser.c')
-rw-r--r--tests/check_content_parser.c126
1 files changed, 126 insertions, 0 deletions
diff --git a/tests/check_content_parser.c b/tests/check_content_parser.c
index 390d516..e4ae9ae 100644
--- a/tests/check_content_parser.c
+++ b/tests/check_content_parser.c
@@ -274,6 +274,114 @@ test_content_parse_horizontal_rule(void **state)
void
+test_content_parse_unordered_list(void **state)
+{
+ char *html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "* asd\n"
+ "* qwe\n"
+ "* zxc");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ul>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ul>\n");
+ free(html);
+ html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "* asd\n"
+ "* qwe\n"
+ "* zxc\n");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ul>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ul>\n");
+ free(html);
+ html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "* asd\n"
+ "* qwe\n"
+ "* zxc\n"
+ "\n"
+ "fuuuu\n");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ul>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ul>\n"
+ "<p>fuuuu</p>\n");
+ free(html);
+}
+
+
+void
+test_content_parse_ordered_list(void **state)
+{
+ char *html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "1. asd\n"
+ "2. qwe\n"
+ "3. zxc");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ol>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ol>\n");
+ free(html);
+ html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "1. asd\n"
+ "2. qwe\n"
+ "3. zxc\n");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ol>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ol>\n");
+ free(html);
+ html = blogc_content_parse(
+ "lol\n"
+ "\n"
+ "1. asd\n"
+ "2. qwe\n"
+ "3. zxc\n"
+ "\n"
+ "fuuuu\n");
+ assert_non_null(html);
+ assert_string_equal(html,
+ "<p>lol</p>\n"
+ "<ol>\n"
+ "<li>asd</li>\n"
+ "<li>qwe</li>\n"
+ "<li>zxc</li>\n"
+ "</ol>\n"
+ "<p>fuuuu</p>\n");
+ free(html);
+}
+
+
+void
test_content_parse_invalid_header(void **state)
{
char *html = blogc_content_parse(
@@ -340,6 +448,21 @@ test_content_parse_invalid_code(void **state)
void
+test_content_parse_invalid_horizontal_rule(void **state)
+{
+ // this generates invalid html, but...
+ char *html = blogc_content_parse("** asd");
+ assert_non_null(html);
+ assert_string_equal(html, "<p><strong> asd</p>\n");
+ free(html);
+ html = blogc_content_parse("** asd\n");
+ assert_non_null(html);
+ assert_string_equal(html, "<p><strong> asd</p>\n");
+ free(html);
+}
+
+
+void
test_content_parse_inline(void **state)
{
char *html = blogc_content_parse_inline(
@@ -367,10 +490,13 @@ main(void)
unit_test(test_content_parse_blockquote),
unit_test(test_content_parse_code),
unit_test(test_content_parse_horizontal_rule),
+ unit_test(test_content_parse_unordered_list),
+ unit_test(test_content_parse_ordered_list),
unit_test(test_content_parse_invalid_header),
unit_test(test_content_parse_invalid_header_empty),
unit_test(test_content_parse_invalid_blockquote),
unit_test(test_content_parse_invalid_code),
+ unit_test(test_content_parse_invalid_horizontal_rule),
unit_test(test_content_parse_inline),
};
return run_tests(tests);