aboutsummaryrefslogtreecommitdiff
path: root/lib/io/test/get_line.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/io/test/get_line.c')
-rw-r--r--lib/io/test/get_line.c37
1 files changed, 24 insertions, 13 deletions
diff --git a/lib/io/test/get_line.c b/lib/io/test/get_line.c
index 2d0f9b7..bb06b3e 100644
--- a/lib/io/test/get_line.c
+++ b/lib/io/test/get_line.c
@@ -4,9 +4,7 @@
*
* Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
*/
-#include "config.h"
-
-#include "io/file.h"
+#include "io/mem.h"
#include "util/test.h"
typedef struct {
@@ -14,7 +12,7 @@ typedef struct {
const char *str;
} line_t;
-static void run_test_case(const line_t *lines, size_t count,
+static void run_test_case(const char *raw, const line_t *lines, size_t count,
int flags)
{
size_t i, line_num, old_line_num;
@@ -22,7 +20,7 @@ static void run_test_case(const line_t *lines, size_t count,
char *line;
int ret;
- fp = istream_open_file(STRVALUE(TESTFILE));
+ fp = istream_memory_create("lines.txt", 512, raw, strlen(raw));
TEST_NOT_NULL(fp);
line_num = 1;
@@ -50,6 +48,19 @@ static void run_test_case(const line_t *lines, size_t count,
sqfs_drop(fp);
}
+static const char *file =
+"\r\n"
+"The quick\r\n"
+" \r\n"
+" brown fox \r\n"
+"\r\n"
+"jumps over\r\n"
+"the\r\n"
+"lazy\r\n"
+"\r\n"
+"dog\r\n"
+"\r\n";
+
static const line_t lines_raw[] = {
{ 1, "" },
{ 2, "The quick" },
@@ -147,18 +158,18 @@ int main(int argc, char **argv)
{
(void)argc; (void)argv;
- run_test_case(lines_raw, 11, 0);
- run_test_case(lines_ltrim, 11, ISTREAM_LINE_LTRIM);
- run_test_case(lines_rtrim, 11, ISTREAM_LINE_RTRIM);
- run_test_case(lines_trim, 11,
+ run_test_case(file, lines_raw, 11, 0);
+ run_test_case(file, lines_ltrim, 11, ISTREAM_LINE_LTRIM);
+ run_test_case(file, lines_rtrim, 11, ISTREAM_LINE_RTRIM);
+ run_test_case(file, lines_trim, 11,
ISTREAM_LINE_LTRIM | ISTREAM_LINE_RTRIM);
- run_test_case(lines_no_empty, 7, ISTREAM_LINE_SKIP_EMPTY);
- run_test_case(lines_no_empty_ltrim, 6,
+ run_test_case(file, lines_no_empty, 7, ISTREAM_LINE_SKIP_EMPTY);
+ run_test_case(file, lines_no_empty_ltrim, 6,
ISTREAM_LINE_SKIP_EMPTY | ISTREAM_LINE_LTRIM);
- run_test_case(lines_no_empty_rtrim, 6,
+ run_test_case(file, lines_no_empty_rtrim, 6,
ISTREAM_LINE_SKIP_EMPTY | ISTREAM_LINE_RTRIM);
- run_test_case(lines_no_empty_trim, 6,
+ run_test_case(file, lines_no_empty_trim, 6,
ISTREAM_LINE_SKIP_EMPTY | ISTREAM_LINE_LTRIM |
ISTREAM_LINE_RTRIM);