Files
c-libs/test/string-view.c

31 lines
674 B
C

#include "c-libs/string-view.h"
#include <criterion/criterion.h>
Test(sv, construction) {
const char *data = "abcdefg";
size_t len = strlen(data);
StringView sv1 = sv_new(data);
StringView sv2 = sv_new_sized(data, 2);
cr_assert(sv1.data == data);
cr_assert(sv1.end == data + len);
cr_assert(sv2.data == data);
cr_assert(sv2.end == data + 2);
}
Test(sv, inspection) {
const char *data = "abcdefg";
size_t len = strlen(data);
StringView sv1 = sv_new(data);
char *clone = sv_clone(sv1);
cr_assert(sv_len(sv1) == len);
cr_assert_str_eq(data, clone);
cr_assert(sv_eq(sv1, sv1));
cr_assert_not(sv_eq(sv1, sv_drop(sv1, 1)));
free(clone);
}