aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2015-06-12 00:35:10 -0300
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2015-06-12 00:35:10 -0300
commit168de93a068e489eb96c541172de5e43e13a5873 (patch)
treebe15e5a2f0e68ab838a2df33e9a9e1b43a6a6777
parent1851274f9524c462806d6ab64e024effb0392231 (diff)
downloadblogc-168de93a068e489eb96c541172de5e43e13a5873.tar.gz
blogc-168de93a068e489eb96c541172de5e43e13a5873.tar.bz2
blogc-168de93a068e489eb96c541172de5e43e13a5873.zip
Revert "added content excerpt support"
This reverts commit 1851274f9524c462806d6ab64e024effb0392231.
-rw-r--r--src/source-parser.c57
-rw-r--r--tests/check_loader.c2
-rw-r--r--tests/check_source_parser.c89
3 files changed, 8 insertions, 140 deletions
diff --git a/src/source-parser.c b/src/source-parser.c
index 9e1f01d..f0fca29 100644
--- a/src/source-parser.c
+++ b/src/source-parser.c
@@ -27,9 +27,6 @@ typedef enum {
SOURCE_SEPARATOR,
SOURCE_CONTENT_START,
SOURCE_CONTENT,
- SOURCE_EXCERPT_SEPARATOR,
- SOURCE_CONTENT2_START,
- SOURCE_CONTENT2,
} blogc_source_parser_state_t;
@@ -44,7 +41,6 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err)
char *key = NULL;
char *tmp = NULL;
- char *tmp2 = NULL;
b_trie_t *rv = b_trie_new(free);
blogc_source_parser_state_t state = SOURCE_START;
@@ -149,53 +145,10 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err)
break;
case SOURCE_CONTENT:
- if (c == '.') {
- state = SOURCE_EXCERPT_SEPARATOR;
- tmp = b_strndup(src + start, current - start);
- b_trie_insert(rv, "EXCERPT", blogc_content_parse(tmp));
- free(tmp);
- tmp = NULL;
- break;
- }
if (current == (src_len - 1)) {
tmp = b_strndup(src + start, src_len - start);
- b_trie_insert(rv, "EXCERPT", blogc_content_parse(tmp));
- free(tmp);
- tmp = NULL;
- }
- break;
-
- case SOURCE_EXCERPT_SEPARATOR:
- if (c == '.')
- break;
- if (c == '\n' || c == '\r') {
- state = SOURCE_CONTENT2_START;
- break;
- }
- *err = blogc_error_parser(BLOGC_ERROR_SOURCE_PARSER, src, src_len,
- current,
- "Invalid excerpt separator. Must be more than one '.' characters.");
- break;
-
- case SOURCE_CONTENT2_START:
- start = current;
- state = SOURCE_CONTENT2;
- break;
-
- case SOURCE_CONTENT2:
- if (current == (src_len - 1)) {
- tmp = b_strndup(src + start, src_len - start);
- tmp2 = b_strdup_printf("%s\n%s",
- b_trie_lookup(rv, "EXCERPT"), tmp);
- free(tmp);
- tmp = NULL;
- b_trie_insert(rv, "CONTENT", blogc_content_parse(tmp2));
- free(tmp2);
- tmp2 = NULL;
- }
- if (c == '.') {
- state = SOURCE_EXCERPT_SEPARATOR;
- break;
+ b_trie_insert(rv, "RAW_CONTENT", tmp);
+ b_trie_insert(rv, "CONTENT", blogc_content_parse(tmp));
}
break;
}
@@ -206,9 +159,6 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err)
current++;
}
- if (b_trie_lookup(rv, "CONTENT") == NULL)
- b_trie_insert(rv, "CONTENT", b_strdup(b_trie_lookup(rv, "EXCERPT")));
-
if (*err == NULL && b_trie_size(rv) == 0) {
// ok, nothing found in the config trie, but no error set either.
@@ -237,9 +187,6 @@ blogc_source_parse(const char *src, size_t src_len, blogc_error_t **err)
case SOURCE_SEPARATOR:
case SOURCE_CONTENT_START:
case SOURCE_CONTENT:
- case SOURCE_EXCERPT_SEPARATOR:
- case SOURCE_CONTENT2_START:
- case SOURCE_CONTENT2:
break; // won't happen, and if even happen, shouldn't be fatal
}
}
diff --git a/tests/check_loader.c b/tests/check_loader.c
index 2d16dba..865d598 100644
--- a/tests/check_loader.c
+++ b/tests/check_loader.c
@@ -117,7 +117,7 @@ test_source_parse_from_file(void **state)
assert_string_equal(b_trie_lookup(t, "ASD"), "123");
assert_string_equal(b_trie_lookup(t, "FILENAME"), "bola");
assert_string_equal(b_trie_lookup(t, "CONTENT"), "<p>bola</p>\n");
- assert_string_equal(b_trie_lookup(t, "EXCERPT"), "<p>bola</p>\n");
+ assert_string_equal(b_trie_lookup(t, "RAW_CONTENT"), "bola");
b_trie_free(t);
}
diff --git a/tests/check_source_parser.c b/tests/check_source_parser.c
index c33b4c1..0cec364 100644
--- a/tests/check_source_parser.c
+++ b/tests/check_source_parser.c
@@ -40,42 +40,10 @@ test_source_parse(void **state)
assert_string_equal(b_trie_lookup(source, "CONTENT"),
"<h1>This is a test</h1>\n"
"<p>bola</p>\n");
- assert_string_equal(b_trie_lookup(source, "EXCERPT"),
- "<h1>This is a test</h1>\n"
- "<p>bola</p>\n");
- b_trie_free(source);
-}
-
-
-static void
-test_source_parse_with_excerpt(void **state)
-{
- const char *a =
- "VAR1: asd asd\n"
- "VAR2: 123chunda\n"
- "----------\n"
+ assert_string_equal(b_trie_lookup(source, "RAW_CONTENT"),
"# This is a test\n"
"\n"
- "bola\n"
- "\n"
- "...\n"
- "guda\n"
- "bola\n";
- blogc_error_t *err = NULL;
- b_trie_t *source = blogc_source_parse(a, strlen(a), &err);
- assert_null(err);
- assert_non_null(source);
- assert_int_equal(b_trie_size(source), 4);
- assert_string_equal(b_trie_lookup(source, "VAR1"), "asd asd");
- assert_string_equal(b_trie_lookup(source, "VAR2"), "123chunda");
- assert_string_equal(b_trie_lookup(source, "CONTENT"),
- "<h1>This is a test</h1>\n"
- "<p>bola</p>\n"
- "<p>guda\n"
- "bola</p>\n");
- assert_string_equal(b_trie_lookup(source, "EXCERPT"),
- "<h1>This is a test</h1>\n"
- "<p>bola</p>\n");
+ "bola\n");
b_trie_free(source);
}
@@ -102,37 +70,10 @@ test_source_parse_with_spaces(void **state)
assert_string_equal(b_trie_lookup(source, "CONTENT"),
"<h1>This is a test</h1>\n"
"<p>bola</p>\n");
- assert_string_equal(b_trie_lookup(source, "EXCERPT"),
- "<h1>This is a test</h1>\n"
- "<p>bola</p>\n");
- b_trie_free(source);
-}
-
-
-static void
-test_source_parse_with_spaces_and_excerpt(void **state)
-{
- const char *a =
- "\n \n"
- "VAR1: chunda \t \n"
- "\n\n"
- "BOLA: guda\n"
- "----------\n"
+ assert_string_equal(b_trie_lookup(source, "RAW_CONTENT"),
"# This is a test\n"
- "..\n"
- "bola\n";
- blogc_error_t *err = NULL;
- b_trie_t *source = blogc_source_parse(a, strlen(a), &err);
- assert_null(err);
- assert_non_null(source);
- assert_int_equal(b_trie_size(source), 4);
- assert_string_equal(b_trie_lookup(source, "VAR1"), "chunda");
- assert_string_equal(b_trie_lookup(source, "BOLA"), "guda");
- assert_string_equal(b_trie_lookup(source, "CONTENT"),
- "<h1>This is a test</h1>\n"
- "<p>bola</p>\n");
- assert_string_equal(b_trie_lookup(source, "EXCERPT"),
- "<h1>This is a test</h1>\n");
+ "\n"
+ "bola\n");
b_trie_free(source);
}
@@ -434,31 +375,12 @@ test_source_parse_invalid_separator(void **state)
}
-static void
-test_source_parse_invalid_excerpt_separator(void **state)
-{
- const char *a = "BOLA: asd\n---\nbola\n...#";
- blogc_error_t *err = NULL;
- b_trie_t *source = blogc_source_parse(a, strlen(a), &err);
- assert_null(source);
- assert_non_null(err);
- assert_int_equal(err->type, BLOGC_ERROR_SOURCE_PARSER);
- assert_string_equal(err->msg,
- "Invalid excerpt separator. Must be more than one '.' characters.\n"
- "Error occurred near to '#'");
- blogc_error_free(err);
- b_trie_free(source);
-}
-
-
int
main(void)
{
const UnitTest tests[] = {
unit_test(test_source_parse),
- unit_test(test_source_parse_with_excerpt),
unit_test(test_source_parse_with_spaces),
- unit_test(test_source_parse_with_spaces_and_excerpt),
unit_test(test_source_parse_config_empty),
unit_test(test_source_parse_config_invalid_key),
unit_test(test_source_parse_config_no_key),
@@ -477,7 +399,6 @@ main(void)
unit_test(test_source_parse_config_reserved_name10),
unit_test(test_source_parse_config_value_no_line_ending),
unit_test(test_source_parse_invalid_separator),
- unit_test(test_source_parse_invalid_excerpt_separator),
};
return run_tests(tests);
}