summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-02-03 23:39:15 +0100
committerLinnnus <[email protected]>2024-02-04 20:26:17 +0100
commit2967d8f1b6636b46ec648e9efba2f79573c20da8 (patch)
tree9f2f714f2e7eddd652bc72c8aabda8a1981b6d35
parentd38f82f6462af4e5aad6a2c776f5c00ce5b13c87 (diff)
test(creole): move creole tests to static data
This removes *a ton* of code for dealing with reading files and what not. Now instead we just store the test cases as a huge array in the code. I have no idea why I didn't just do this from the start??
-rw-r--r--flake.nix9
-rw-r--r--src/creole-test.c550
-rw-r--r--test/>h6.input.txt1
-rw-r--r--test/>h6.output.txt1
-rw-r--r--test/basic-paragraph-markup.input.txt1
-rw-r--r--test/basic-paragraph-markup.output.txt1
-rw-r--r--test/difficult-emphasis-#1.input.txt1
-rw-r--r--test/difficult-emphasis-#1.output.txt1
-rw-r--r--test/difficult-emphasis-#10.input.txt1
-rw-r--r--test/difficult-emphasis-#10.output.txt1
-rw-r--r--test/difficult-emphasis-#11.input.txt1
-rw-r--r--test/difficult-emphasis-#11.output.txt1
-rw-r--r--test/difficult-emphasis-#12.input.txt1
-rw-r--r--test/difficult-emphasis-#12.output.txt1
-rw-r--r--test/difficult-emphasis-#13.input.txt1
-rw-r--r--test/difficult-emphasis-#13.output.txt1
-rw-r--r--test/difficult-emphasis-#14.input.txt1
-rw-r--r--test/difficult-emphasis-#14.output.txt1
-rw-r--r--test/difficult-emphasis-#15.input.txt1
-rw-r--r--test/difficult-emphasis-#15.output.txt1
-rw-r--r--test/difficult-emphasis-#16.input.txt1
-rw-r--r--test/difficult-emphasis-#16.output.txt1
-rw-r--r--test/difficult-emphasis-#2.input.txt1
-rw-r--r--test/difficult-emphasis-#2.output.txt1
-rw-r--r--test/difficult-emphasis-#3.input.txt1
-rw-r--r--test/difficult-emphasis-#3.output.txt1
-rw-r--r--test/difficult-emphasis-#4.input.txt1
-rw-r--r--test/difficult-emphasis-#4.output.txt1
-rw-r--r--test/difficult-emphasis-#5.input.txt1
-rw-r--r--test/difficult-emphasis-#5.output.txt1
-rw-r--r--test/difficult-emphasis-#6.input.txt1
-rw-r--r--test/difficult-emphasis-#6.output.txt1
-rw-r--r--test/difficult-emphasis-#7.input.txt1
-rw-r--r--test/difficult-emphasis-#7.output.txt1
-rw-r--r--test/difficult-emphasis-#8.input.txt1
-rw-r--r--test/difficult-emphasis-#8.output.txt1
-rw-r--r--test/difficult-emphasis-#9.input.txt1
-rw-r--r--test/difficult-emphasis-#9.output.txt1
-rw-r--r--test/dummy-without-corresponding-output.input.txt0
-rw-r--r--test/emphasis.input.txt1
-rw-r--r--test/emphasis.output.txt1
-rw-r--r--test/h1.input.txt1
-rw-r--r--test/h1.output.txt1
-rw-r--r--test/h2.input.txt1
-rw-r--r--test/h2.output.txt1
-rw-r--r--test/h3.input.txt1
-rw-r--r--test/h3.output.txt1
-rw-r--r--test/h4.input.txt1
-rw-r--r--test/h4.output.txt1
-rw-r--r--test/h5.input.txt1
-rw-r--r--test/h5.output.txt1
-rw-r--r--test/h6.input.txt1
-rw-r--r--test/h6.output.txt1
-rw-r--r--test/horizontal-rule.input.txt3
-rw-r--r--test/horizontal-rule.output.txt1
-rw-r--r--test/image.input.txt1
-rw-r--r--test/image.output.txt1
-rw-r--r--test/inline-tt.input.txt1
-rw-r--r--test/inline-tt.output.txt1
-rw-r--r--test/multi-line-emphasis.input.txt6
-rw-r--r--test/multi-line-emphasis.output.txt6
-rw-r--r--test/named-link.input.txt1
-rw-r--r--test/named-link.output.txt1
-rw-r--r--test/named-url.input.txt1
-rw-r--r--test/named-url.output.txt1
-rw-r--r--test/ordered-item-with-ordered-sublist.input.txt2
-rw-r--r--test/ordered-item-with-ordered-sublist.output.txt2
-rw-r--r--test/ordered-sublist-without-initial-tag.input.txt1
-rw-r--r--test/ordered-sublist-without-initial-tag.output.txt1
-rw-r--r--test/preformatted-block.input.txt3
-rw-r--r--test/preformatted-block.output.txt2
-rw-r--r--test/raw-url.input.txt1
-rw-r--r--test/raw-url.output.txt1
-rw-r--r--test/simple-ordered-list.input.txt2
-rw-r--r--test/simple-ordered-list.output.txt2
-rw-r--r--test/simple-unordered-list.input.txt2
-rw-r--r--test/simple-unordered-list.output.txt2
-rw-r--r--test/strong.input.txt1
-rw-r--r--test/strong.output.txt1
-rw-r--r--test/tables.input.txt2
-rw-r--r--test/tables.output.txt1
-rw-r--r--test/two-preformatted-blocks.input.txt4
-rw-r--r--test/two-preformatted-blocks.output.txt2
-rw-r--r--test/unnamed-link.input.txt1
-rw-r--r--test/unnamed-link.output.txt1
-rw-r--r--test/unnamed-url.input.txt1
-rw-r--r--test/unnamed-url.output.txt1
-rw-r--r--test/unordered-item-with-ordered-sublist.input.txt2
-rw-r--r--test/unordered-item-with-ordered-sublist.output.txt2
-rw-r--r--test/unordered-item-with-unordered-sublist.input.txt2
-rw-r--r--test/unordered-item-with-unordered-sublist.output.txt2
-rw-r--r--test/unordered-sublist-without-initial-tag.input.txt1
-rw-r--r--test/unordered-sublist-without-initial-tag.output.txt1
-rw-r--r--test/url∕emphasis-ambiguity.input.txt1
-rw-r--r--test/url∕emphasis-ambiguity.output.txt1
95 files changed, 301 insertions, 380 deletions
diff --git a/flake.nix b/flake.nix
index 75ab105..24c60a1 100644
--- a/flake.nix
+++ b/flake.nix
@@ -38,14 +38,7 @@
installPhase = ''
mkdir -p $out/bin
make build/creole-test
- mv build/creole-test $out/bin/.creole-test-wrapped
-
- cat >$out/bin/creole-test <<EOF
- #!${pkgs.bash}/bin/bash
- cd ${src}
- exec $out/bin/.creole-test-wrapped
- EOF
- chmod +x $out/bin/creole-test
+ mv build/creole-test $out/bin
'';
};
diff --git a/src/creole-test.c b/src/creole-test.c
index 18d24a2..3bf820f 100644
--- a/src/creole-test.c
+++ b/src/creole-test.c
@@ -1,273 +1,323 @@
#include "creole.h"
-#include <assert.h>
-#include <dirent.h>
#include <stdio.h>
-#include <glob.h>
-#include <stdlib.h>
-#include <stdbool.h>
#include <string.h>
-#include <errno.h>
-//#include <ftw.h>
-#define RED "\x1b[31m"
-#define GREEN "\x1b[32m"
-#define YELLOW "\x1b[33m"
-#define CYAN "\x1b[96m"
-#define BOLD "\x1b[39;1m"
-#define DIM "\x1b[39;2m"
-#define CLEAR "\x1b[0m"
-
-#define LENGTH(a) (sizeof(a)/sizeof((a)[0]))
-
-#define CHUNK_SIZE 5
-
-int read_file(const char *file_path, char **out_buffer, size_t *out_length) {
- assert(out_buffer != NULL && *out_buffer == NULL);
- assert(file_path != NULL);
-
- FILE *fp = fopen(file_path, "r");
- if (fp == NULL) {
- return -1;
- }
-
- char *buffer = NULL;
- size_t allocated = 0;
- size_t used = 0;
- while (true) {
- // Grow buffer, if needed.
- if (used + CHUNK_SIZE > allocated) {
- // Grow exponentially to guarantee O(log(n)) performance.
- allocated = (allocated == 0) ? CHUNK_SIZE : allocated * 2;
-
- // Overflow check. Some ANSI C compilers may optimize this away, though.
- if (allocated <= used) {
- free(buffer);
- fclose(fp);
- errno = EOVERFLOW;
- return -1;
- }
-
- char *temp = realloc(buffer, allocated);
- if (temp == NULL) {
- int old_errno = errno;
- free(buffer); // free() may not set errno
- fclose(fp); // fclose() may set errno
- errno = old_errno;
- return -1;
- }
- buffer = temp;
- }
-
- size_t nread = fread(buffer + used, 1, CHUNK_SIZE, fp);
- if (nread == 0) {
- // End-of-file or errnor has occured.
- // FIXME: Should we be checking (nread < CHUNK_SIZE)?
- // https://stackoverflow.com/a/39322170
- break;
- }
- used += nread;
- }
-
- if (ferror(fp)) {
- int old_errno = errno;
- free(buffer); // free() may not set errno
- fclose(fp); // fclose() may set errno
- errno = old_errno;
- return -1;
- }
-
- // Reallocate to optimal size.
- char *temp = realloc(buffer, used + 1);
- if (temp == NULL) {
- int old_errno = errno;
- free(buffer); // free() may not set errno
- fclose(fp); // fclose() may set errno
- errno = old_errno;
- return -1;
- }
- buffer = temp;
-
- // Null-terminate the buffer. Note that buffers may still contain \0,
- // so strlen(buffer) == length may not be true.
- buffer[used] = '\0';
-
- // Return buffer.
- *out_buffer = buffer;
- if (out_length != NULL) {
- *out_length = used;
- }
- fclose(fp);
- return 0;
-}
-
-// https://stackoverflow.com/a/779960
-char *replace(const char *orig, char *rep, char *with) {
- assert(orig != NULL);
- assert(rep != NULL);
-
- char *tmp; // varies
-
- int len_rep = strlen(rep); // length of rep (the string to remove)
- if (len_rep == 0) {
- errno = EINVAL; // empty rep causes infinite loop during count
- return NULL;
- }
-
- int len_with; // length of with (the string to replace rep with)
- if (with == NULL)
- with = "";
- len_with = strlen(with);
-
- // count the number of replacements needed
- const char *ins; // the next insert point
- int count; // number of replacements
- ins = orig;
- for (count = 0; (tmp = strstr(ins, rep)) != NULL; ++count) {
- ins = tmp + len_rep;
- }
-
- char *result; // the return string
- tmp = result = malloc(strlen(orig) + (len_with - len_rep) * count + 1);
- if (!result) {
- return NULL;
+#define COUNT(arr) (sizeof(arr)/sizeof((arr)[0]))
+
+#define strneq(a, b, n) (strncmp(a, b, n) == 0)
+
+struct {
+ const char *name, *input, *output;
+} tests[] = {
+ {
+ .name = "Basic paragraph markup",
+ .input = "Basic paragraph test with <, >, & and \"",
+ .output = "<p>Basic paragraph test with &lt;, &gt;, &amp; and &quot;</p>"
+ },
+#if 0
+ {
+ .name = "Simple unordered list",
+ .input = "* list item\n*list item 2",
+ .output = "<ul><li> list item</li>\n<li>list item 2</li></ul>"
+ },
+ {
+ .name = "Simple ordered list",
+ .input = "# list item\n#list item 2",
+ .output = "<ol><li> list item</li>\n<li>list item 2</li></ol>"
+ },
+ {
+ .name = "Unordered item with unordered sublist",
+ .input = "* Item\n** Subitem",
+ .output = "<ul><li> Item<ul>\n<li> Subitem</li></ul></li></ul>"
+ },
+ {
+ .name = "Unordered sublist without initial tag",
+ .input = "** Sublist item",
+ .output = "<p>** Sublist item</p>"
+ },
+ {
+ .name = "Ordered item with ordered sublist",
+ .input = "# Item\n## Subitem",
+ .output = "<ol><li> Item<ol>\n<li> Subitem</li></ol></li></ol>"
+ },
+ {
+ .name = "Ordered sublist without initial tag",
+ .input = "## Sublist item",
+ .output = "<p>## Sublist item</p>"
+ },
+ {
+ .name = "Unordered item with ordered sublist",
+ .input = "* Item\n*# Subitem",
+ .output = "<ul><li> Item<ol>\n<li> Subitem</li></ol></li></ul>"
+ },
+ {
+ .name = "Horizontal rule",
+ .input = "Some text\n----\nSome more text",
+ .output = "<p>Some text</p><hr /><p>Some more text</p>"
+ },
+ {
+ .name = "Preformatted block",
+ .input = "{{{\nPreformatted block\n}}}",
+ .output = "<pre>Preformatted block\n</pre>"
+ },
+ {
+ .name = "Two preformatted blocks",
+ .input = "{{{\nPreformatted block\n}}}\n{{{Block 2}}}",
+ .output = "<pre>Preformatted block\n</pre><pre>Block 2</pre>"
+ },
+ {
+ .name = "h1",
+ .input = "= Header =",
+ .output = "<h1>Header</h1>"
+ },
+ {
+ .name = "h2",
+ .input = "== Header =",
+ .output = "<h2>Header</h2>"
+ },
+ {
+ .name = "h3",
+ .input = "=== Header =",
+ .output = "<h3>Header</h3>"
+ },
+ {
+ .name = "h4",
+ .input = "==== Header =",
+ .output = "<h4>Header</h4>"
+ },
+ {
+ .name = "h5",
+ .input = "===== Header",
+ .output = "<h5>Header</h5>"
+ },
+ {
+ .name = "h6",
+ .input = "====== Header =",
+ .output = "<h6>Header</h6>"
+ },
+ {
+ .name = ">h6",
+ .input = "======= Header =",
+ .output = "<p>======= Header =</p>"
+ },
+ {
+ .name = "Tables",
+ .input = "| A | B |\n| //C// | **D** \\\\ E |",
+ .output = "<table><tr><td> A </td><td> B </td></tr>"
+ "<tr><td> <em>C</em> </td>"
+ "<td> <strong>D</strong> <br /> E </td></tr></table>"
+ },
+ {
+ .name = "Raw URL",
+ .input = "http //example.com/examplepage",
+ .output = "<p><a href=\"http //example.com/examplepage\">"
+ "http //example.com/examplepage</a></p>"
+ },
+ {
+ .name = "Unnamed URL",
+ .input = "[[http //example.com/examplepage]]",
+ .output = "<p><a href=\"http //example.com/examplepage\">"
+ "http //example.com/examplepage</a></p>"
+ },
+ {
+ .name = "Named URL",
+ .input = "[[http //example.com/examplepage|Example Page]]",
+ .output = "<p>"
+ "<a href=\"http //example.com/examplepage\">Example Page</a></p>"
+ },
+ {
+ .name = "Unnamed link",
+ .input = "[[MyPage]]",
+ .output = "<p><a href=\"MyPage\">MyPage</a></p>"
+ },
+ {
+ .name = "Named link",
+ .input = "[[MyPage|My page]]",
+ .output = "<p><a href=\"MyPage\">My page</a></p>"
+ },
+ {
+ .name = "Image",
+ .input = "{{image.gif|my image}}",
+ .output = "<p><img src=\"image.gif\" alt=\"my image\"/></p>"
+ },
+ {
+ .name = "Inline tt",
+ .input = "Inline {{{tt}}} example {{{here}}}!",
+ .output = "<p>Inline <tt>tt</tt> example <tt>here</tt>!</p>"
+ },
+ {
+ .name = "Strong",
+ .input = "**Strong**",
+ .output = "<p><strong>Strong</strong></p>"
+ },
+ {
+ .name = "Emphasis",
+ .input = "//Emphasis//",
+ .output = "<p><em>Emphasis</em></p>"
+ },
+ {
+ .name = "Multi-line emphasis",
+ .input = "Bold and italics should //be\nable// to cross lines.\n\n"
+ "But, should //not be...\n\n...able// to cross paragraphs.",
+ .output = "<p>Bold and italics should <em>be\nable</em> to cross lines.\n</p>"
+ "<p>\nBut, should //not be...\n</p>"
+ "<p>\n...able// to cross paragraphs.</p>"
+ },
+ {
+ .name = "URL/emphasis ambiguity",
+ .input = "This is an //italic// text. This is a url "
+ "http //www.wikicreole.org. This is what can go wrong //this "
+ "should be an italic text//.",
+ .output = "<p>This is an <em>italic</em> text. This is a url "
+ "<a href=\"http //www.wikicreole.org\">"
+ "http //www.wikicreole.org</a>. This is what can go wrong "
+ "<em>this should be an italic text</em>.</p>"
+ },
+ {
+ .name = "Difficult emphasis #1",
+ .input = "// http //www.link.org //",
+ .output = "<p><em> <a href=\"http //www.link.org\">"
+ "http //www.link.org</a> </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #2",
+ .input = "// http //",
+ .output = "<p><em> http </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #3",
+ .input = "// httphpthtpht //",
+ .output = "<p><em> httphpthtpht </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #4",
+ .input = "// http //",
+ .output = "<p><em> http </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #5",
+ .input = "// http //",
+ .output = "<p>// <a href=\"http //\">http //</a></p>"
+ },
+ {
+ .name = "Difficult emphasis #6",
+ .input = "// http ////",
+ .output = "<p><em> <a href=\"http //\">http //</a></em></p>"
+ },
+ {
+ .name = "Difficult emphasis #7",
+ .input = "//httphpthtphtt//",
+ .output = "<p><em>httphpthtphtt</em></p>"
+ },
+ {
+ .name = "Difficult emphasis #8",
+ .input = "//http //link.org//",
+ .output = "<p><em><a href=\"http //link.org\">"
+ "http //link.org</a></em></p>"
+ },
+ {
+ .name = "Difficult emphasis #9",
+ .input = "// ftp //www.link.org //",
+ .output = "<p><em> <a href=\"ftp //www.link.org\">"
+ "ftp //www.link.org</a> </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #10",
+ .input = "// ftp //",
+ .output = "<p><em> ftp </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #11",
+ .input = "// fttpfptftpft //",
+ .output = "<p><em> fttpfptftpft </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #12",
+ .input = "// ftp //",
+ .output = "<p><em> ftp </em></p>"
+ },
+ {
+ .name = "Difficult emphasis #13",
+ .input = "// ftp //",
+ .output = "<p>// <a href=\"ftp //\">ftp //</a></p>"
+ },
+ {
+ .name = "Difficult emphasis #14",
+ .input = "// ftp ////",
+ .output = "<p><em> <a href=\"ftp //\">ftp //</a></em></p>"
+ },
+ {
+ .name = "Difficult emphasis #15",
+ .input = "//fttpfptftpftt//",
+ .output = "<p><em>fttpfptftpftt</em></p>"
+ },
+ {
+ .name = "Difficult emphasis #16",
+ .input = "//ftp //link.org//",
+ .output = "<p><em><a href=\"ftp //link.org\">"
+ "ftp //link.org</a></em></p>"
}
-
- // first time through the loop, all the variable are set correctly
- // from here on,
- // tmp points to the end of the result string
- // ins points to the next occurrence of rep in orig
- // orig points to the remainder of orig after "end of rep"
- while (count--) {
- ins = strstr(orig, rep);
- int len_front = ins - orig;
- tmp = strncpy(tmp, orig, len_front) + len_front;
- tmp = strcpy(tmp, with) + len_with;
- orig += len_front + len_rep; // move to next "end of rep"
- }
- strcpy(tmp, orig);
- return result;
-}
+#endif
+};
int print_escaped(FILE *fp, const char *string, size_t length) {
- static struct {
- char from;
- const char *to;
- } replacements[] = {
- { '\t', "\\t" },
- { '\n', "\\n" },
- { '"', "\\\"" },
- };
-
- if (fputc('"', fp) == EOF) {
- return -1;
- }
-
- for (size_t i = 0; i < length; ++i) {
- for (size_t j = 0; j < LENGTH(replacements); ++j) {
- if (string[i] == replacements[j].from) {
- if (fprintf(fp, "%s", replacements[j].to) < 0) {
- return -1;
- }
- goto next_char;
- }
- }
- if (fputc(string[i], fp) == EOF) {
- return -1;
- }
+ static struct {
+ char from;
+ const char *to;
+ } replacements[] = {
+ { '\t', "\\t" },
+ { '\n', "\\n" },
+ { '"', "\\\"" },
+ };
+
+ if (fputc('"', fp) == EOF) {
+ return -1;
+ }
+
+ for (size_t i = 0; i < length; ++i) {
+ for (size_t j = 0; j < COUNT(replacements); ++j) {
+ if (string[i] == replacements[j].from) {
+ if (fprintf(fp, "%s", replacements[j].to) < 0) {
+ return -1;
+ }
+ goto next_char;
+ }
+ }
+ if (fputc(string[i], fp) == EOF) {
+ return -1;
+ }
next_char:
- ;
- }
+ ;
+ }
- if (fputc('"', fp) == EOF) {
- return -1;
- }
+ if (fputc('"', fp) == EOF) {
+ return -1;
+ }
- return 0;
+ return 0;
}
-int main(int argc, char *argv[]) {
- if (argc != 1) {
- fprintf(stderr, "Usage: %s\n", argv[0]);
- fprintf(stderr, "Takes no arguments, must be invoked in parent of test dir.\n");
- return EXIT_FAILURE;
- }
-
- glob_t glob_result;
- if (glob("./test/*.input.txt", GLOB_ERR, NULL, &glob_result) < 0) {
- perror("Glob failed");
- return EXIT_FAILURE;
- }
-
- unsigned ok = 0;
- unsigned failures = 0;
- unsigned errors = 0;
+int main(void) {
+ for (size_t i = 0; i < COUNT(tests); ++i) {
+ printf("Running test: %s... ", tests[i].name);
- for (int i = 0; i < glob_result.gl_matchc; ++i) {
- char *input_name = glob_result.gl_pathv[i];
-
- int input_name_len = strlen(input_name);
- int prefix_len = strlen("./test/");
- int sufix_len = strlen(".input.txt");
- printf("Running: " BOLD "%.*s" CLEAR "... ", input_name_len - prefix_len - sufix_len, input_name + prefix_len);
-
- char *input_buffer = NULL;
- size_t input_length;
- if (read_file(input_name, &input_buffer, &input_length) < 0) {
- printf(RED "internal error!" CLEAR "\n " CYAN "error:" CLEAR " reading %s: %s\n", input_name, strerror(errno));
- errors += 1;
- goto fail_input_buffer;
- }
-
- // TODO: replace() is a bit overkill. Just strcpy to buffer of size (strlen(input_name) - strlen(".input.txt") + strlen(".output.txt")).
- char *output_name = replace(input_name, ".input.txt", ".output.txt");
- if (output_name == NULL) {
- printf(RED "internal error!" CLEAR "\n " CYAN "error:" CLEAR " generating output name: %s\n", strerror(errno));
- errors += 1;
- goto fail_output_name;
- }
- char *output_buffer = NULL;
- size_t output_length;
- if (read_file(output_name, &output_buffer, &output_length) < 0) {
- printf(RED "internal error!" CLEAR "\n " CYAN "error:" CLEAR " reading %s: %s\n", output_name, strerror(errno));
- errors += 1;
- goto fail_output_buffer;
- }
-
- // Do actual render.
static char buffer[1024];
FILE *fp = fmemopen(buffer, sizeof(buffer), "wb");
- render_creole(fp, input_buffer, input_length);
+ render_creole(fp, tests[i].input, strlen(tests[i].input));
long buffer_length = ftell(fp);
fclose(fp);
- bool success = strcmp(output_buffer, buffer) == 0;
- if (success) {
- ok += 1;
- printf(GREEN "ok" CLEAR "\n");
- } else {
- failures += 1;
- printf(RED "unexpected output!" CLEAR);
- printf(CYAN "\n input: " CLEAR);
- print_escaped(stdout, input_buffer, input_length);
- printf(CYAN "\n want: " CLEAR);
- print_escaped(stdout, output_buffer, output_length);
- printf(CYAN"\n got: " CLEAR);
- print_escaped(stdout, buffer, buffer_length); // TODO: rendered
+ if (!strneq(buffer, tests[i].output, buffer_length)) {
+ printf("\x1b[31merror\x1b[0m\n");
+ printf("├── expected: ");
+ print_escaped(stdout, tests[i].output, strlen(tests[i].output));
+ putchar('\n');
+ printf("└─────── got: ");
+ print_escaped(stdout, buffer, buffer_length);
putchar('\n');
+ } else {
+ printf("\x1b[32mok\x1b[0m\n");
}
-
- free(output_buffer);
-fail_output_buffer:
- free(output_name);
-fail_output_name:
- free(input_buffer);
-fail_input_buffer:
- ;
}
-
- printf("Summary: " YELLOW "%u" CLEAR " errors, " RED "%u" CLEAR " failures and " GREEN "%u" CLEAR " successes\n", errors, failures, ok);
-
- globfree(&glob_result);
- return (failures == 0 && errors == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/test/>h6.input.txt b/test/>h6.input.txt
deleted file mode 100644
index f422da3..0000000
--- a/test/>h6.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-======= Header = \ No newline at end of file
diff --git a/test/>h6.output.txt b/test/>h6.output.txt
deleted file mode 100644
index 1ab8a75..0000000
--- a/test/>h6.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>======= Header =</p> \ No newline at end of file
diff --git a/test/basic-paragraph-markup.input.txt b/test/basic-paragraph-markup.input.txt
deleted file mode 100644
index 30d69f7..0000000
--- a/test/basic-paragraph-markup.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-Basic paragraph test with <, >, & and " \ No newline at end of file
diff --git a/test/basic-paragraph-markup.output.txt b/test/basic-paragraph-markup.output.txt
deleted file mode 100644
index 24cc6d6..0000000
--- a/test/basic-paragraph-markup.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>Basic paragraph test with &lt;, &gt;, &amp; and &quot;</p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#1.input.txt b/test/difficult-emphasis-#1.input.txt
deleted file mode 100644
index f40a5e6..0000000
--- a/test/difficult-emphasis-#1.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// http://www.link.org // \ No newline at end of file
diff --git a/test/difficult-emphasis-#1.output.txt b/test/difficult-emphasis-#1.output.txt
deleted file mode 100644
index 4b94283..0000000
--- a/test/difficult-emphasis-#1.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> <a href="http://www.link.org">http://www.link.org</a> </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#10.input.txt b/test/difficult-emphasis-#10.input.txt
deleted file mode 100644
index e2fff46..0000000
--- a/test/difficult-emphasis-#10.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// ftp // \ No newline at end of file
diff --git a/test/difficult-emphasis-#10.output.txt b/test/difficult-emphasis-#10.output.txt
deleted file mode 100644
index d4e6163..0000000
--- a/test/difficult-emphasis-#10.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> ftp </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#11.input.txt b/test/difficult-emphasis-#11.input.txt
deleted file mode 100644
index c990a82..0000000
--- a/test/difficult-emphasis-#11.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// fttpfptftpft // \ No newline at end of file
diff --git a/test/difficult-emphasis-#11.output.txt b/test/difficult-emphasis-#11.output.txt
deleted file mode 100644
index a633f70..0000000
--- a/test/difficult-emphasis-#11.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> fttpfptftpft </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#12.input.txt b/test/difficult-emphasis-#12.input.txt
deleted file mode 100644
index eb6c6be..0000000
--- a/test/difficult-emphasis-#12.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// ftp: // \ No newline at end of file
diff --git a/test/difficult-emphasis-#12.output.txt b/test/difficult-emphasis-#12.output.txt
deleted file mode 100644
index bc36f4f..0000000
--- a/test/difficult-emphasis-#12.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> ftp: </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#13.input.txt b/test/difficult-emphasis-#13.input.txt
deleted file mode 100644
index a2613a2..0000000
--- a/test/difficult-emphasis-#13.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// ftp:// \ No newline at end of file
diff --git a/test/difficult-emphasis-#13.output.txt b/test/difficult-emphasis-#13.output.txt
deleted file mode 100644
index d152870..0000000
--- a/test/difficult-emphasis-#13.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>// <a href="ftp://">ftp://</a></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#14.input.txt b/test/difficult-emphasis-#14.input.txt
deleted file mode 100644
index 8fcc0a8..0000000
--- a/test/difficult-emphasis-#14.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// ftp://// \ No newline at end of file
diff --git a/test/difficult-emphasis-#14.output.txt b/test/difficult-emphasis-#14.output.txt
deleted file mode 100644
index 2e8d283..0000000
--- a/test/difficult-emphasis-#14.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> <a href="ftp://">ftp://</a></em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#15.input.txt b/test/difficult-emphasis-#15.input.txt
deleted file mode 100644
index fac5c31..0000000
--- a/test/difficult-emphasis-#15.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-//fttpfptftpftt// \ No newline at end of file
diff --git a/test/difficult-emphasis-#15.output.txt b/test/difficult-emphasis-#15.output.txt
deleted file mode 100644
index f69d27c..0000000
--- a/test/difficult-emphasis-#15.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em>fttpfptftpftt</em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#16.input.txt b/test/difficult-emphasis-#16.input.txt
deleted file mode 100644
index 69a62c9..0000000
--- a/test/difficult-emphasis-#16.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-//ftp://link.org// \ No newline at end of file
diff --git a/test/difficult-emphasis-#16.output.txt b/test/difficult-emphasis-#16.output.txt
deleted file mode 100644
index b639d39..0000000
--- a/test/difficult-emphasis-#16.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em><a href="ftp://link.org">ftp://link.org</a></em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#2.input.txt b/test/difficult-emphasis-#2.input.txt
deleted file mode 100644
index 4164319..0000000
--- a/test/difficult-emphasis-#2.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// http // \ No newline at end of file
diff --git a/test/difficult-emphasis-#2.output.txt b/test/difficult-emphasis-#2.output.txt
deleted file mode 100644
index 775aeaf..0000000
--- a/test/difficult-emphasis-#2.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> http </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#3.input.txt b/test/difficult-emphasis-#3.input.txt
deleted file mode 100644
index 63b3f61..0000000
--- a/test/difficult-emphasis-#3.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// httphpthtpht // \ No newline at end of file
diff --git a/test/difficult-emphasis-#3.output.txt b/test/difficult-emphasis-#3.output.txt
deleted file mode 100644
index 2475a98..0000000
--- a/test/difficult-emphasis-#3.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> httphpthtpht </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#4.input.txt b/test/difficult-emphasis-#4.input.txt
deleted file mode 100644
index 59df379..0000000
--- a/test/difficult-emphasis-#4.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// http: // \ No newline at end of file
diff --git a/test/difficult-emphasis-#4.output.txt b/test/difficult-emphasis-#4.output.txt
deleted file mode 100644
index 6ec00bc..0000000
--- a/test/difficult-emphasis-#4.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> http: </em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#5.input.txt b/test/difficult-emphasis-#5.input.txt
deleted file mode 100644
index 6b00e37..0000000
--- a/test/difficult-emphasis-#5.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// http:// \ No newline at end of file
diff --git a/test/difficult-emphasis-#5.output.txt b/test/difficult-emphasis-#5.output.txt
deleted file mode 100644
index f0a2bf3..0000000
--- a/test/difficult-emphasis-#5.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>// <a href="http://">http://</a></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#6.input.txt b/test/difficult-emphasis-#6.input.txt
deleted file mode 100644
index 482f676..0000000
--- a/test/difficult-emphasis-#6.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// http://// \ No newline at end of file
diff --git a/test/difficult-emphasis-#6.output.txt b/test/difficult-emphasis-#6.output.txt
deleted file mode 100644
index 5f4d7e4..0000000
--- a/test/difficult-emphasis-#6.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> <a href="http://">http://</a></em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#7.input.txt b/test/difficult-emphasis-#7.input.txt
deleted file mode 100644
index 75d6014..0000000
--- a/test/difficult-emphasis-#7.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-//httphpthtphtt// \ No newline at end of file
diff --git a/test/difficult-emphasis-#7.output.txt b/test/difficult-emphasis-#7.output.txt
deleted file mode 100644
index d22e67a..0000000
--- a/test/difficult-emphasis-#7.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em>httphpthtphtt</em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#8.input.txt b/test/difficult-emphasis-#8.input.txt
deleted file mode 100644
index b3db2a6..0000000
--- a/test/difficult-emphasis-#8.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-//http://link.org// \ No newline at end of file
diff --git a/test/difficult-emphasis-#8.output.txt b/test/difficult-emphasis-#8.output.txt
deleted file mode 100644
index 336af88..0000000
--- a/test/difficult-emphasis-#8.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em><a href="http://link.org">http://link.org</a></em></p> \ No newline at end of file
diff --git a/test/difficult-emphasis-#9.input.txt b/test/difficult-emphasis-#9.input.txt
deleted file mode 100644
index 36d9ea2..0000000
--- a/test/difficult-emphasis-#9.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-// ftp://www.link.org // \ No newline at end of file
diff --git a/test/difficult-emphasis-#9.output.txt b/test/difficult-emphasis-#9.output.txt
deleted file mode 100644
index 0608ab1..0000000
--- a/test/difficult-emphasis-#9.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em> <a href="ftp://www.link.org">ftp://www.link.org</a> </em></p> \ No newline at end of file
diff --git a/test/dummy-without-corresponding-output.input.txt b/test/dummy-without-corresponding-output.input.txt
deleted file mode 100644
index e69de29..0000000
--- a/test/dummy-without-corresponding-output.input.txt
+++ /dev/null
diff --git a/test/emphasis.input.txt b/test/emphasis.input.txt
deleted file mode 100644
index 032289b..0000000
--- a/test/emphasis.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-//Emphasis// \ No newline at end of file
diff --git a/test/emphasis.output.txt b/test/emphasis.output.txt
deleted file mode 100644
index 93eaeba..0000000
--- a/test/emphasis.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><em>Emphasis</em></p> \ No newline at end of file
diff --git a/test/h1.input.txt b/test/h1.input.txt
deleted file mode 100644
index 2000784..0000000
--- a/test/h1.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-= Header = \ No newline at end of file
diff --git a/test/h1.output.txt b/test/h1.output.txt
deleted file mode 100644
index 689a688..0000000
--- a/test/h1.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h1>Header</h1> \ No newline at end of file
diff --git a/test/h2.input.txt b/test/h2.input.txt
deleted file mode 100644
index a2bc486..0000000
--- a/test/h2.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-== Header = \ No newline at end of file
diff --git a/test/h2.output.txt b/test/h2.output.txt
deleted file mode 100644
index 7369147..0000000
--- a/test/h2.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h2>Header</h2> \ No newline at end of file
diff --git a/test/h3.input.txt b/test/h3.input.txt
deleted file mode 100644
index 4bb4cc0..0000000
--- a/test/h3.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-=== Header = \ No newline at end of file
diff --git a/test/h3.output.txt b/test/h3.output.txt
deleted file mode 100644
index 8634f69..0000000
--- a/test/h3.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h3>Header</h3> \ No newline at end of file
diff --git a/test/h4.input.txt b/test/h4.input.txt
deleted file mode 100644
index 0439f7f..0000000
--- a/test/h4.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-==== Header = \ No newline at end of file
diff --git a/test/h4.output.txt b/test/h4.output.txt
deleted file mode 100644
index 74ac160..0000000
--- a/test/h4.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h4>Header</h4> \ No newline at end of file
diff --git a/test/h5.input.txt b/test/h5.input.txt
deleted file mode 100644
index cbe5f09..0000000
--- a/test/h5.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-===== Header \ No newline at end of file
diff --git a/test/h5.output.txt b/test/h5.output.txt
deleted file mode 100644
index 91c8302..0000000
--- a/test/h5.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h5>Header</h5> \ No newline at end of file
diff --git a/test/h6.input.txt b/test/h6.input.txt
deleted file mode 100644
index f333b14..0000000
--- a/test/h6.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-====== Header = \ No newline at end of file
diff --git a/test/h6.output.txt b/test/h6.output.txt
deleted file mode 100644
index 1ce38f7..0000000
--- a/test/h6.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<h6>Header</h6> \ No newline at end of file
diff --git a/test/horizontal-rule.input.txt b/test/horizontal-rule.input.txt
deleted file mode 100644
index b86aa52..0000000
--- a/test/horizontal-rule.input.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Some text
-----
-Some more text \ No newline at end of file
diff --git a/test/horizontal-rule.output.txt b/test/horizontal-rule.output.txt
deleted file mode 100644
index 05809bf..0000000
--- a/test/horizontal-rule.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>Some text</p><hr /><p>Some more text</p> \ No newline at end of file
diff --git a/test/image.input.txt b/test/image.input.txt
deleted file mode 100644
index 82de5f6..0000000
--- a/test/image.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-{{image.gif|my image}} \ No newline at end of file
diff --git a/test/image.output.txt b/test/image.output.txt
deleted file mode 100644
index 421ea11..0000000
--- a/test/image.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><img src="image.gif" alt="my image"/></p> \ No newline at end of file
diff --git a/test/inline-tt.input.txt b/test/inline-tt.input.txt
deleted file mode 100644
index 668057e..0000000
--- a/test/inline-tt.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-Inline {{{tt}}} example {{{here}}}! \ No newline at end of file
diff --git a/test/inline-tt.output.txt b/test/inline-tt.output.txt
deleted file mode 100644
index 4b26296..0000000
--- a/test/inline-tt.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>Inline <tt>tt</tt> example <tt>here</tt>!</p> \ No newline at end of file
diff --git a/test/multi-line-emphasis.input.txt b/test/multi-line-emphasis.input.txt
deleted file mode 100644
index 7dbeaa4..0000000
--- a/test/multi-line-emphasis.input.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Bold and italics should //be
-able// to cross lines.
-
-But, should //not be...
-
-...able// to cross paragraphs. \ No newline at end of file
diff --git a/test/multi-line-emphasis.output.txt b/test/multi-line-emphasis.output.txt
deleted file mode 100644
index 751f62e..0000000
--- a/test/multi-line-emphasis.output.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-<p>Bold and italics should <em>be
-able</em> to cross lines.
-</p><p>
-But, should //not be...
-</p><p>
-...able// to cross paragraphs.</p> \ No newline at end of file
diff --git a/test/named-link.input.txt b/test/named-link.input.txt
deleted file mode 100644
index 59ef88e..0000000
--- a/test/named-link.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-[[MyPage|My page]] \ No newline at end of file
diff --git a/test/named-link.output.txt b/test/named-link.output.txt
deleted file mode 100644
index 912d393..0000000
--- a/test/named-link.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><a href="MyPage">My page</a></p> \ No newline at end of file
diff --git a/test/named-url.input.txt b/test/named-url.input.txt
deleted file mode 100644
index a71274b..0000000
--- a/test/named-url.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-[[http://example.com/examplepage|Example Page]] \ No newline at end of file
diff --git a/test/named-url.output.txt b/test/named-url.output.txt
deleted file mode 100644
index ff2c2a6..0000000
--- a/test/named-url.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><a href="http://example.com/examplepage">Example Page</a></p> \ No newline at end of file
diff --git a/test/ordered-item-with-ordered-sublist.input.txt b/test/ordered-item-with-ordered-sublist.input.txt
deleted file mode 100644
index 181b2f8..0000000
--- a/test/ordered-item-with-ordered-sublist.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Item
-## Subitem \ No newline at end of file
diff --git a/test/ordered-item-with-ordered-sublist.output.txt b/test/ordered-item-with-ordered-sublist.output.txt
deleted file mode 100644
index 79cd7c0..0000000
--- a/test/ordered-item-with-ordered-sublist.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<ol><li> Item<ol>
-<li> Subitem</li></ol></li></ol> \ No newline at end of file
diff --git a/test/ordered-sublist-without-initial-tag.input.txt b/test/ordered-sublist-without-initial-tag.input.txt
deleted file mode 100644
index 8e45942..0000000
--- a/test/ordered-sublist-without-initial-tag.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-## Sublist item \ No newline at end of file
diff --git a/test/ordered-sublist-without-initial-tag.output.txt b/test/ordered-sublist-without-initial-tag.output.txt
deleted file mode 100644
index 0587284..0000000
--- a/test/ordered-sublist-without-initial-tag.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>## Sublist item</p> \ No newline at end of file
diff --git a/test/preformatted-block.input.txt b/test/preformatted-block.input.txt
deleted file mode 100644
index 0ce854b..0000000
--- a/test/preformatted-block.input.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-{{{
-Preformatted block
-}}} \ No newline at end of file
diff --git a/test/preformatted-block.output.txt b/test/preformatted-block.output.txt
deleted file mode 100644
index 42b0a91..0000000
--- a/test/preformatted-block.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<pre>Preformatted block
-</pre> \ No newline at end of file
diff --git a/test/raw-url.input.txt b/test/raw-url.input.txt
deleted file mode 100644
index 8ebd56b..0000000
--- a/test/raw-url.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-http://example.com/examplepage \ No newline at end of file
diff --git a/test/raw-url.output.txt b/test/raw-url.output.txt
deleted file mode 100644
index b0ec525..0000000
--- a/test/raw-url.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><a href="http://example.com/examplepage">http://example.com/examplepage</a></p> \ No newline at end of file
diff --git a/test/simple-ordered-list.input.txt b/test/simple-ordered-list.input.txt
deleted file mode 100644
index 9cde6b0..0000000
--- a/test/simple-ordered-list.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# list item
-#list item 2 \ No newline at end of file
diff --git a/test/simple-ordered-list.output.txt b/test/simple-ordered-list.output.txt
deleted file mode 100644
index 34fb177..0000000
--- a/test/simple-ordered-list.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<ol><li> list item</li>
-<li>list item 2</li></ol> \ No newline at end of file
diff --git a/test/simple-unordered-list.input.txt b/test/simple-unordered-list.input.txt
deleted file mode 100644
index 019ac85..0000000
--- a/test/simple-unordered-list.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-* list item
-*list item 2 \ No newline at end of file
diff --git a/test/simple-unordered-list.output.txt b/test/simple-unordered-list.output.txt
deleted file mode 100644
index 5634c4b..0000000
--- a/test/simple-unordered-list.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<ul><li> list item</li>
-<li>list item 2</li></ul> \ No newline at end of file
diff --git a/test/strong.input.txt b/test/strong.input.txt
deleted file mode 100644
index e5d3ce8..0000000
--- a/test/strong.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-**Strong** \ No newline at end of file
diff --git a/test/strong.output.txt b/test/strong.output.txt
deleted file mode 100644
index 7ded6c8..0000000
--- a/test/strong.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><strong>Strong</strong></p> \ No newline at end of file
diff --git a/test/tables.input.txt b/test/tables.input.txt
deleted file mode 100644
index 1038fa2..0000000
--- a/test/tables.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-| A | B |
-| //C// | **D** \\ E | \ No newline at end of file
diff --git a/test/tables.output.txt b/test/tables.output.txt
deleted file mode 100644
index de0276a..0000000
--- a/test/tables.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<table><tr><td> A </td><td> B </td></tr><tr><td> <em>C</em> </td><td> <strong>D</strong> <br /> E </td></tr></table> \ No newline at end of file
diff --git a/test/two-preformatted-blocks.input.txt b/test/two-preformatted-blocks.input.txt
deleted file mode 100644
index 636f199..0000000
--- a/test/two-preformatted-blocks.input.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-{{{
-Preformatted block
-}}}
-{{{Block 2}}} \ No newline at end of file
diff --git a/test/two-preformatted-blocks.output.txt b/test/two-preformatted-blocks.output.txt
deleted file mode 100644
index 5f16814..0000000
--- a/test/two-preformatted-blocks.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<pre>Preformatted block
-</pre><pre>Block 2</pre> \ No newline at end of file
diff --git a/test/unnamed-link.input.txt b/test/unnamed-link.input.txt
deleted file mode 100644
index 0b11afe..0000000
--- a/test/unnamed-link.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-[[MyPage]] \ No newline at end of file
diff --git a/test/unnamed-link.output.txt b/test/unnamed-link.output.txt
deleted file mode 100644
index 7ed65d2..0000000
--- a/test/unnamed-link.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><a href="MyPage">MyPage</a></p> \ No newline at end of file
diff --git a/test/unnamed-url.input.txt b/test/unnamed-url.input.txt
deleted file mode 100644
index ea80e5d..0000000
--- a/test/unnamed-url.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-[[http://example.com/examplepage]] \ No newline at end of file
diff --git a/test/unnamed-url.output.txt b/test/unnamed-url.output.txt
deleted file mode 100644
index b0ec525..0000000
--- a/test/unnamed-url.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p><a href="http://example.com/examplepage">http://example.com/examplepage</a></p> \ No newline at end of file
diff --git a/test/unordered-item-with-ordered-sublist.input.txt b/test/unordered-item-with-ordered-sublist.input.txt
deleted file mode 100644
index 10ac242..0000000
--- a/test/unordered-item-with-ordered-sublist.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-* Item
-*# Subitem \ No newline at end of file
diff --git a/test/unordered-item-with-ordered-sublist.output.txt b/test/unordered-item-with-ordered-sublist.output.txt
deleted file mode 100644
index 57ed1da..0000000
--- a/test/unordered-item-with-ordered-sublist.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<ul><li> Item<ol>
-<li> Subitem</li></ol></li></ul> \ No newline at end of file
diff --git a/test/unordered-item-with-unordered-sublist.input.txt b/test/unordered-item-with-unordered-sublist.input.txt
deleted file mode 100644
index b4d3ecd..0000000
--- a/test/unordered-item-with-unordered-sublist.input.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-* Item
-** Subitem \ No newline at end of file
diff --git a/test/unordered-item-with-unordered-sublist.output.txt b/test/unordered-item-with-unordered-sublist.output.txt
deleted file mode 100644
index 9c4a46f..0000000
--- a/test/unordered-item-with-unordered-sublist.output.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-<ul><li> Item<ul>
-<li> Subitem</li></ul></li></ul> \ No newline at end of file
diff --git a/test/unordered-sublist-without-initial-tag.input.txt b/test/unordered-sublist-without-initial-tag.input.txt
deleted file mode 100644
index f495ea5..0000000
--- a/test/unordered-sublist-without-initial-tag.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-** Sublist item \ No newline at end of file
diff --git a/test/unordered-sublist-without-initial-tag.output.txt b/test/unordered-sublist-without-initial-tag.output.txt
deleted file mode 100644
index 59d4091..0000000
--- a/test/unordered-sublist-without-initial-tag.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>** Sublist item</p> \ No newline at end of file
diff --git a/test/url∕emphasis-ambiguity.input.txt b/test/url∕emphasis-ambiguity.input.txt
deleted file mode 100644
index 4c29ff9..0000000
--- a/test/url∕emphasis-ambiguity.input.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is an //italic// text. This is a url: http://www.wikicreole.org. This is what can go wrong://this should be an italic text//. \ No newline at end of file
diff --git a/test/url∕emphasis-ambiguity.output.txt b/test/url∕emphasis-ambiguity.output.txt
deleted file mode 100644
index 9be7ec8..0000000
--- a/test/url∕emphasis-ambiguity.output.txt
+++ /dev/null
@@ -1 +0,0 @@
-<p>This is an <em>italic</em> text. This is a url: <a href="http://www.wikicreole.org">http://www.wikicreole.org</a>. This is what can go wrong:<em>this should be an italic text</em>.</p> \ No newline at end of file