diff options
author | Linnnus <[email protected]> | 2024-02-03 23:39:15 +0100 |
---|---|---|
committer | Linnnus <[email protected]> | 2024-02-04 20:26:17 +0100 |
commit | 2967d8f1b6636b46ec648e9efba2f79573c20da8 (patch) | |
tree | 9f2f714f2e7eddd652bc72c8aabda8a1981b6d35 | |
parent | d38f82f6462af4e5aad6a2c776f5c00ce5b13c87 (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??
95 files changed, 301 insertions, 380 deletions
@@ -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 <, >, & and "</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 <, >, & and "</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 |