summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Belfer <arrbee@arrbee.com>2011-11-29 21:44:54 -0800
committerRussell Belfer <arrbee@arrbee.com>2011-11-29 21:44:54 -0800
commit7df41387f5d09308acda0d4b54eccc1431c71610 (patch)
tree87effb28c36970c09d9bd86001e23a9a7d503c53
parentc63728cd73c14093665880b26505418581d7a29a (diff)
downloadlibgit2-7df41387f5d09308acda0d4b54eccc1431c71610.tar.gz
Adding unit tests for git_buf_copy_cstr
-rw-r--r--tests-clay/core/buffer.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests-clay/core/buffer.c b/tests-clay/core/buffer.c
index cf6e45bd9..1abee3e8c 100644
--- a/tests-clay/core/buffer.c
+++ b/tests-clay/core/buffer.c
@@ -52,6 +52,7 @@ void test_core_buffer__2(void)
{
git_buf buf = GIT_BUF_INIT;
int i;
+ char data[100];
cl_assert(buf.size == 0);
@@ -129,6 +130,27 @@ void test_core_buffer__2(void)
cl_assert_strequal("", git_buf_cstr(&buf));
git_buf_free(&buf);
+
+ /* test extracting data into buffer */
+ git_buf_puts(&buf, REP4("0123456789"));
+ cl_assert(git_buf_oom(&buf) == 0);
+
+ git_buf_copy_cstr(data, 100, &buf);
+ cl_assert_strequal(data, REP4("0123456789"));
+ git_buf_copy_cstr(data, 11, &buf);
+ cl_assert_strequal(data, "0123456789");
+ git_buf_copy_cstr(data, 3, &buf);
+ cl_assert_strequal(data, "01");
+ git_buf_copy_cstr(data, 1, &buf);
+ cl_assert_strequal(data, "");
+
+ git_buf_copy_cstr(data, 100, &buf);
+ cl_assert_strequal(data, REP4("0123456789"));
+
+ git_buf_free(&buf);
+
+ git_buf_copy_cstr(data, 100, &buf);
+ cl_assert_strequal(data, "");
}
/* let's do some tests with larger buffers to push our limits */