diff options
Diffstat (limited to 'lib/io/test/get_line.c')
-rw-r--r-- | lib/io/test/get_line.c | 37 |
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); |