summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/aplwc_read.c48
-rw-r--r--tests/aplwc_read/bad/1.txt2
-rw-r--r--tests/aplwc_read/bad/2.txt1
-rw-r--r--tests/aplwc_read/good/1.txt1
-rw-r--r--tests/aplwc_read/good/2.txt4
-rw-r--r--tests/aplwc_read/good/3.txt1
-rw-r--r--tests/aplwc_read/good/4.txt1
-rw-r--r--tests/aplwc_read/good/5.txt1
8 files changed, 59 insertions, 0 deletions
diff --git a/tests/aplwc_read.c b/tests/aplwc_read.c
new file mode 100644
index 0000000..b011151
--- /dev/null
+++ b/tests/aplwc_read.c
@@ -0,0 +1,48 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <aplwc.h>
+
+int
+main(int argc, char *argv[])
+{
+ uint8_t data[APLWC_MIN_MEM+100];
+ char *input;
+ struct aplwc *aplwc;
+ struct aplwc_line *line;
+ enum aplwc_rc ret;
+ FILE *f;
+ long input_size;
+
+ if(argc != 2)
+ return 1;
+
+ f = fopen(argv[1], "r");
+ if(f == NULL)
+ return 1;
+ if(fseek(f, 0, SEEK_END))
+ return 1;
+ input_size = ftell(f);
+ if(input_size < 0)
+ return 1;
+ rewind(f);
+
+ input = malloc(input_size+1);
+ if(input == NULL)
+ return 1;
+ if(fread(input, 1, input_size, f) < (size_t)input_size)
+ return 1;
+ input[input_size] = 0;
+
+ ret = aplwc_new(&aplwc, data, sizeof(data));
+ if(ret)
+ return 1;
+
+ line = aplwc_read(aplwc, input);
+ if((line == NULL) && (aplwc_last_error(aplwc) != APLWC_OUT_OF_MEMORY))
+ return 1;
+ aplwc_free_line(line);
+ aplwc_destroy(aplwc);
+ free(input);
+
+ return 0;
+}
diff --git a/tests/aplwc_read/bad/1.txt b/tests/aplwc_read/bad/1.txt
new file mode 100644
index 0000000..422c2b7
--- /dev/null
+++ b/tests/aplwc_read/bad/1.txt
@@ -0,0 +1,2 @@
+a
+b
diff --git a/tests/aplwc_read/bad/2.txt b/tests/aplwc_read/bad/2.txt
new file mode 100644
index 0000000..94226da
--- /dev/null
+++ b/tests/aplwc_read/bad/2.txt
@@ -0,0 +1 @@
+2a
diff --git a/tests/aplwc_read/good/1.txt b/tests/aplwc_read/good/1.txt
new file mode 100644
index 0000000..7898192
--- /dev/null
+++ b/tests/aplwc_read/good/1.txt
@@ -0,0 +1 @@
+a
diff --git a/tests/aplwc_read/good/2.txt b/tests/aplwc_read/good/2.txt
new file mode 100644
index 0000000..ce63f2c
--- /dev/null
+++ b/tests/aplwc_read/good/2.txt
@@ -0,0 +1,4 @@
+a
+
+
+
diff --git a/tests/aplwc_read/good/3.txt b/tests/aplwc_read/good/3.txt
new file mode 100644
index 0000000..73c6204
--- /dev/null
+++ b/tests/aplwc_read/good/3.txt
@@ -0,0 +1 @@
+a1 b_2 cd_ef3
diff --git a/tests/aplwc_read/good/4.txt b/tests/aplwc_read/good/4.txt
new file mode 100644
index 0000000..1d7510c
--- /dev/null
+++ b/tests/aplwc_read/good/4.txt
@@ -0,0 +1 @@
+a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
diff --git a/tests/aplwc_read/good/5.txt b/tests/aplwc_read/good/5.txt
new file mode 100644
index 0000000..4a873df
--- /dev/null
+++ b/tests/aplwc_read/good/5.txt
@@ -0,0 +1 @@
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa