c-md/tests/utils/io/test_read_line.c
2026-01-12 10:18:47 +01:00

59 lines
995 B
C

#include <criterion/criterion.h>
#include <stdio.h>
#include <stdlib.h>
#include "utils.h"
/*
** TESTS: io/read_line.c
*/
Test(utils_io, read_line_from_file)
{
FILE *f;
char *line;
f = fopen("/tmp/test_c_md_utils.txt", "w");
cr_assert_not_null(f);
fprintf(f, "line1\n");
fprintf(f, "line2\n");
fclose(f);
f = fopen("/tmp/test_c_md_utils.txt", "r");
cr_assert_not_null(f);
line = read_line(f);
cr_assert_not_null(line);
cr_assert_str_eq(line, "line1\n");
free(line);
line = read_line(f);
cr_assert_not_null(line);
cr_assert_str_eq(line, "line2\n");
free(line);
line = read_line(f);
cr_assert_null(line);
fclose(f);
remove("/tmp/test_c_md_utils.txt");
}
Test(utils_io, read_line_empty_file)
{
FILE *f;
char *line;
f = fopen("/tmp/test_c_md_empty.txt", "w");
cr_assert_not_null(f);
fclose(f);
f = fopen("/tmp/test_c_md_empty.txt", "r");
cr_assert_not_null(f);
line = read_line(f);
cr_assert_null(line);
fclose(f);
remove("/tmp/test_c_md_empty.txt");
}