]>
Commit | Line | Data |
---|---|---|
3fd1520c | 1 | #include "clar_libgit2.h" |
e579e0f7 | 2 | #include "oid.h" |
34aff010 | 3 | |
4 | static git_oid id; | |
7e527ca7 X |
5 | static git_oid idp; |
6 | static git_oid idm; | |
34aff010 | 7 | const char *str_oid = "ae90f12eea699729ed24555e40b9fd669da12a12"; |
7e527ca7 | 8 | const char *str_oid_p = "ae90f12eea699729ed"; |
b3c17483 | 9 | const char *str_oid_m = "ae90f12eea699729ed24555e40b9fd669da12a12THIS IS EXTRA TEXT THAT SHOULD GET IGNORED"; |
34aff010 | 10 | |
11 | void test_core_oid__initialize(void) | |
12 | { | |
13 | cl_git_pass(git_oid_fromstr(&id, str_oid)); | |
7e527ca7 | 14 | cl_git_pass(git_oid_fromstrp(&idp, str_oid_p)); |
13640d1b | 15 | cl_git_fail(git_oid_fromstrp(&idm, str_oid_m)); |
34aff010 | 16 | } |
17 | ||
18 | void test_core_oid__streq(void) | |
19 | { | |
aa8f0101 RB |
20 | cl_assert_equal_i(0, git_oid_streq(&id, str_oid)); |
21 | cl_assert_equal_i(-1, git_oid_streq(&id, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); | |
34aff010 | 22 | |
aa8f0101 RB |
23 | cl_assert_equal_i(-1, git_oid_streq(&id, "deadbeef")); |
24 | cl_assert_equal_i(-1, git_oid_streq(&id, "I'm not an oid.... :)")); | |
7e527ca7 | 25 | |
aa8f0101 RB |
26 | cl_assert_equal_i(0, git_oid_streq(&idp, "ae90f12eea699729ed0000000000000000000000")); |
27 | cl_assert_equal_i(0, git_oid_streq(&idp, "ae90f12eea699729ed")); | |
28 | cl_assert_equal_i(-1, git_oid_streq(&idp, "ae90f12eea699729ed1")); | |
29 | cl_assert_equal_i(-1, git_oid_streq(&idp, "ae90f12eea699729ec")); | |
30 | cl_assert_equal_i(-1, git_oid_streq(&idp, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); | |
31 | ||
32 | cl_assert_equal_i(-1, git_oid_streq(&idp, "deadbeef")); | |
33 | cl_assert_equal_i(-1, git_oid_streq(&idp, "I'm not an oid.... :)")); | |
34 | } | |
35 | ||
36 | void test_core_oid__strcmp(void) | |
37 | { | |
38 | cl_assert_equal_i(0, git_oid_strcmp(&id, str_oid)); | |
39 | cl_assert(git_oid_strcmp(&id, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef") < 0); | |
40 | ||
41 | cl_assert(git_oid_strcmp(&id, "deadbeef") < 0); | |
42 | cl_assert_equal_i(-1, git_oid_strcmp(&id, "I'm not an oid.... :)")); | |
43 | ||
44 | cl_assert_equal_i(0, git_oid_strcmp(&idp, "ae90f12eea699729ed0000000000000000000000")); | |
45 | cl_assert_equal_i(0, git_oid_strcmp(&idp, "ae90f12eea699729ed")); | |
46 | cl_assert(git_oid_strcmp(&idp, "ae90f12eea699729ed1") < 0); | |
47 | cl_assert(git_oid_strcmp(&idp, "ae90f12eea699729ec") > 0); | |
48 | cl_assert(git_oid_strcmp(&idp, "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef") < 0); | |
49 | ||
50 | cl_assert(git_oid_strcmp(&idp, "deadbeef") < 0); | |
51 | cl_assert_equal_i(-1, git_oid_strcmp(&idp, "I'm not an oid.... :)")); | |
52 | } | |
8564a022 RB |
53 | |
54 | void test_core_oid__ncmp(void) | |
55 | { | |
56 | cl_assert(!git_oid_ncmp(&id, &idp, 0)); | |
57 | cl_assert(!git_oid_ncmp(&id, &idp, 1)); | |
58 | cl_assert(!git_oid_ncmp(&id, &idp, 2)); | |
59 | cl_assert(!git_oid_ncmp(&id, &idp, 17)); | |
60 | cl_assert(!git_oid_ncmp(&id, &idp, 18)); | |
61 | cl_assert(git_oid_ncmp(&id, &idp, 19)); | |
62 | cl_assert(git_oid_ncmp(&id, &idp, 40)); | |
63 | cl_assert(git_oid_ncmp(&id, &idp, 41)); | |
64 | cl_assert(git_oid_ncmp(&id, &idp, 42)); | |
65 | ||
66 | cl_assert(!git_oid_ncmp(&id, &id, 0)); | |
67 | cl_assert(!git_oid_ncmp(&id, &id, 1)); | |
68 | cl_assert(!git_oid_ncmp(&id, &id, 39)); | |
69 | cl_assert(!git_oid_ncmp(&id, &id, 40)); | |
70 | cl_assert(!git_oid_ncmp(&id, &id, 41)); | |
3fd1520c | 71 | } |
e579e0f7 MB |
72 | |
73 | void test_core_oid__is_hexstr(void) | |
74 | { | |
75 | cl_assert(git_oid__is_hexstr("deadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); | |
76 | cl_assert(!git_oid__is_hexstr("deadbeefdeadbeef")); | |
77 | cl_assert(!git_oid__is_hexstr("zeadbeefdeadbeefdeadbeefdeadbeefdeadbeef")); | |
78 | cl_assert(!git_oid__is_hexstr("deadbeefdeadbeefdeadbeefdeadbeefdeadbeef1")); | |
79 | } |