diff --git a/include/gargoyle/test/twine.h b/include/gargoyle/test/twine.h index 89124e4..933ff98 100644 --- a/include/gargoyle/test/twine.h +++ b/include/gargoyle/test/twine.h @@ -6,6 +6,6 @@ int clean_suite_twine(void); void twine_test_is_sep(void); void twine_test_is_eql(void); void twine_test_cmp(void); -//void twine_test_cpy(void); +void twine_test_cpy(void); #endif diff --git a/test/runner.c b/test/runner.c index b28bef8..2a509b1 100644 --- a/test/runner.c +++ b/test/runner.c @@ -11,7 +11,7 @@ int main() { { "gargoyle_is_sep", twine_test_is_sep }, { "gargoyle_is_eql", twine_test_is_eql }, { "gargoyle_cmp", twine_test_cmp }, -// { "gargoyle_cpy", twine_test_cpy }, + { "gargoyle_cpy", twine_test_cpy }, CU_TEST_INFO_NULL, }; diff --git a/test/twine.c b/test/twine.c index 0af21b4..d1e7768 100644 --- a/test/twine.c +++ b/test/twine.c @@ -49,3 +49,25 @@ void twine_test_cmp(void) { CU_ASSERT_FALSE(gargoyle_cmp("_", "-", 1, 0)); CU_ASSERT_TRUE(gargoyle_cmp("_", "-", 1, GARGOYLE_FLG_FLXBL)); } + +void twine_test_cpy(void) { + char smol_str[10]; + + gargoyle_cpy(smol_str, "", sizeof(smol_str), GARGOYLE_FLG_FILL0); + CU_ASSERT_NSTRING_EQUAL(smol_str, "\0\0\0\0\0\0\0\0\0\0", 10); + + gargoyle_cpy(smol_str, "waldo", 5, 0); + CU_ASSERT_STRING_EQUAL(smol_str, "waldo"); + + gargoyle_cpy(smol_str, "hi", 3, GARGOYLE_FLG_FILL0); + CU_ASSERT_STRING_EQUAL(smol_str, "hi"); + CU_ASSERT_NSTRING_EQUAL(smol_str, "hi\0do\0\0\0\0\0", 10); + + gargoyle_cpy(smol_str, "lol", 3, 0); + CU_ASSERT_STRING_EQUAL(smol_str, "loldo"); + CU_ASSERT_NSTRING_EQUAL(smol_str, "loldo\0\0\0\0\0", 10); + + gargoyle_cpy(smol_str + 5, "spooky", 5, GARGOYLE_FLG_FILL0); + CU_ASSERT_STRING_EQUAL(smol_str, "loldospoo"); + CU_ASSERT_NSTRING_EQUAL(smol_str, "loldospoo\0", 10); +}