]> git.proxmox.com Git - libgit2.git/blame - tests/core/oid.c
New upstream version 1.4.3+dfsg.1
[libgit2.git] / tests / core / oid.c
CommitLineData
3fd1520c 1#include "clar_libgit2.h"
e579e0f7 2#include "oid.h"
34aff010 3
4static git_oid id;
7e527ca7
X
5static git_oid idp;
6static git_oid idm;
34aff010 7const char *str_oid = "ae90f12eea699729ed24555e40b9fd669da12a12";
7e527ca7 8const char *str_oid_p = "ae90f12eea699729ed";
b3c17483 9const char *str_oid_m = "ae90f12eea699729ed24555e40b9fd669da12a12THIS IS EXTRA TEXT THAT SHOULD GET IGNORED";
34aff010 10
11void 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
18void 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
36void 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
54void 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
73void 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}