78 lines
1.5 KiB
C
78 lines
1.5 KiB
C
#include <criterion/criterion.h>
|
|
#include <stdio.h>
|
|
|
|
#include "map.h"
|
|
|
|
/*
|
|
** TESTS: map/io.c - Writing to file
|
|
*/
|
|
|
|
Test(map_io, write_to_file)
|
|
{
|
|
t_map map;
|
|
FILE *f;
|
|
char buffer[256];
|
|
const char *path = "/tmp/test_c_md_map.map";
|
|
|
|
map_init(&map);
|
|
map_add(&map, 2, 8, 1, 7);
|
|
map_add(&map, 15, 22, 9, 16);
|
|
|
|
cr_assert_eq(map_write(&map, path, "main.c.md", "main.c"), 0);
|
|
|
|
f = fopen(path, "r");
|
|
cr_assert_not_null(f);
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "C-MD MAP v1\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "source: main.c.md\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "target: main.c\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "---\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "2-8:1-7\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "15-22:9-16\n");
|
|
|
|
fclose(f);
|
|
remove(path);
|
|
map_free(&map);
|
|
}
|
|
|
|
Test(map_io, write_empty_map)
|
|
{
|
|
t_map map;
|
|
FILE *f;
|
|
char buffer[256];
|
|
const char *path = "/tmp/test_c_md_empty_map.map";
|
|
|
|
map_init(&map);
|
|
|
|
cr_assert_eq(map_write(&map, path, "test.c.md", "test.c"), 0);
|
|
|
|
f = fopen(path, "r");
|
|
cr_assert_not_null(f);
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "C-MD MAP v1\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "source: test.c.md\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "target: test.c\n");
|
|
|
|
fgets(buffer, sizeof(buffer), f);
|
|
cr_assert_str_eq(buffer, "---\n");
|
|
|
|
fclose(f);
|
|
remove(path);
|
|
map_free(&map);
|
|
}
|