| #include "clar_libgit2.h" |
| |
| static git_oid id; |
| static git_oid idp; |
| static git_oid idm; |
| const char *str_oid = "ae90f12eea699729ed24555e40b9fd669da12a12"; |
| const char *str_oid_p = "ae90f12eea699729ed"; |
| const char *str_oid_m = "ae90f12eea699729ed24555e40b9fd669da12a12THIS IS EXTRA TEXT THAT SHOULD GET IGNORED"; |
| |
| void test_core_oid__initialize(void) |
| { |
| cl_git_pass(git_oid_fromstr(&id, str_oid)); |
| cl_git_pass(git_oid_fromstrp(&idp, str_oid_p)); |
| cl_git_fail(git_oid_fromstrp(&idm, str_oid_m)); |
| } |
| |
| void test_core_oid__streq(void) |
| { |
| cl_assert_equal_i(0, git_oid_streq(&id, str_oid)); |
| cl_assert_equal_i(-1, git_oid_streq(&id, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); |
| |
| cl_assert_equal_i(-1, git_oid_streq(&id, "deadbeef")); |
| cl_assert_equal_i(-1, git_oid_streq(&id, "I'm not an oid.... :)")); |
| |
| cl_assert_equal_i(0, git_oid_streq(&idp, "ae90f12eea699729ed0000000000000000000000")); |
| cl_assert_equal_i(0, git_oid_streq(&idp, "ae90f12eea699729ed")); |
| cl_assert_equal_i(-1, git_oid_streq(&idp, "ae90f12eea699729ed1")); |
| cl_assert_equal_i(-1, git_oid_streq(&idp, "ae90f12eea699729ec")); |
| cl_assert_equal_i(-1, git_oid_streq(&idp, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); |
| |
| cl_assert_equal_i(-1, git_oid_streq(&idp, "deadbeef")); |
| cl_assert_equal_i(-1, git_oid_streq(&idp, "I'm not an oid.... :)")); |
| } |
| |
| void test_core_oid__strcmp(void) |
| { |
| cl_assert_equal_i(0, git_oid_strcmp(&id, str_oid)); |
| cl_assert(git_oid_strcmp(&id, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef") < 0); |
| |
| cl_assert(git_oid_strcmp(&id, "deadbeef") < 0); |
| cl_assert_equal_i(-1, git_oid_strcmp(&id, "I'm not an oid.... :)")); |
| |
| cl_assert_equal_i(0, git_oid_strcmp(&idp, "ae90f12eea699729ed0000000000000000000000")); |
| cl_assert_equal_i(0, git_oid_strcmp(&idp, "ae90f12eea699729ed")); |
| cl_assert(git_oid_strcmp(&idp, "ae90f12eea699729ed1") < 0); |
| cl_assert(git_oid_strcmp(&idp, "ae90f12eea699729ec") > 0); |
| cl_assert(git_oid_strcmp(&idp, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef") < 0); |
| |
| cl_assert(git_oid_strcmp(&idp, "deadbeef") < 0); |
| cl_assert_equal_i(-1, git_oid_strcmp(&idp, "I'm not an oid.... :)")); |
| } |
| |
| void test_core_oid__ncmp(void) |
| { |
| cl_assert(!git_oid_ncmp(&id, &idp, 0)); |
| cl_assert(!git_oid_ncmp(&id, &idp, 1)); |
| cl_assert(!git_oid_ncmp(&id, &idp, 2)); |
| cl_assert(!git_oid_ncmp(&id, &idp, 17)); |
| cl_assert(!git_oid_ncmp(&id, &idp, 18)); |
| cl_assert(git_oid_ncmp(&id, &idp, 19)); |
| cl_assert(git_oid_ncmp(&id, &idp, 40)); |
| cl_assert(git_oid_ncmp(&id, &idp, 41)); |
| cl_assert(git_oid_ncmp(&id, &idp, 42)); |
| |
| cl_assert(!git_oid_ncmp(&id, &id, 0)); |
| cl_assert(!git_oid_ncmp(&id, &id, 1)); |
| cl_assert(!git_oid_ncmp(&id, &id, 39)); |
| cl_assert(!git_oid_ncmp(&id, &id, 40)); |
| cl_assert(!git_oid_ncmp(&id, &id, 41)); |
| } |