1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#include "clar_libgit2.h"
#include "git2/oid.h"
#include "git2/transport.h"
#include "common.h"
#include "transports/smart.h"
#include "oid.h"
#include <assert.h>
#define oid_0 "c070ad8c08840c8116da865b2d65593a6bb9cd2a"
#define oid_1 "0966a434eb1a025db6b71485ab63a3bfbea520b6"
#define oid_2 "83834a7afdaa1a1260568567f6ad90020389f664"
void test_transports_smart_shallowarray__add_and_remove_oid_from_shallowarray(void)
{
git_oid oid_0_obj, oid_1_obj, oid_2_obj;
git_shallowarray *shallow_roots = git__malloc(sizeof(git_shallowarray));
git_array_init(shallow_roots->array);
git_oid_fromstr(&oid_0_obj, oid_0);
git_oid_fromstr(&oid_1_obj, oid_1);
git_oid_fromstr(&oid_2_obj, oid_2);
git_shallowarray_add(shallow_roots, &oid_0_obj);
git_shallowarray_add(shallow_roots, &oid_1_obj);
git_shallowarray_add(shallow_roots, &oid_2_obj);
cl_assert_equal_i(3, shallow_roots->array.size);
cl_assert_equal_s("c070ad8c08840c8116da865b2d65593a6bb9cd2a", git_oid_tostr_s(&shallow_roots->array.ptr[0]));
cl_assert_equal_s("0966a434eb1a025db6b71485ab63a3bfbea520b6", git_oid_tostr_s(&shallow_roots->array.ptr[1]));
cl_assert_equal_s("83834a7afdaa1a1260568567f6ad90020389f664", git_oid_tostr_s(&shallow_roots->array.ptr[2]));
git_shallowarray_remove(shallow_roots, &oid_2_obj);
cl_assert_equal_i(2, shallow_roots->array.size);
cl_assert_equal_s("c070ad8c08840c8116da865b2d65593a6bb9cd2a", git_oid_tostr_s(&shallow_roots->array.ptr[0]));
cl_assert_equal_s("0966a434eb1a025db6b71485ab63a3bfbea520b6", git_oid_tostr_s(&shallow_roots->array.ptr[1]));
git_shallowarray_remove(shallow_roots, &oid_1_obj);
cl_assert_equal_i(1, shallow_roots->array.size);
cl_assert_equal_s("c070ad8c08840c8116da865b2d65593a6bb9cd2a", git_oid_tostr_s(&shallow_roots->array.ptr[0]));
git_shallowarray_remove(shallow_roots, &oid_0_obj);
cl_assert_equal_i(0, shallow_roots->array.size);
git_array_clear(shallow_roots->array);
git__free(shallow_roots);
}
|