diff options
author | Vicent Marti <tanoku@gmail.com> | 2013-11-20 12:54:24 +0100 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2013-11-20 12:54:24 +0100 |
commit | 4b0a36e881506a02b43a4ae3c19c93c919b36eeb (patch) | |
tree | 026182fa30273a4c1649928b6db3fc5335bd1ea4 /tests/notes/notesref.c | |
parent | 29d7242b1dcd1f09a63417abd648a6217b85d301 (diff) | |
parent | 43cb8b32428b1b29994874349ec22eb5372e152c (diff) | |
download | libgit2-4b0a36e881506a02b43a4ae3c19c93c919b36eeb.tar.gz |
Merge branch 'development'
Diffstat (limited to 'tests/notes/notesref.c')
-rw-r--r-- | tests/notes/notesref.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/notes/notesref.c b/tests/notes/notesref.c new file mode 100644 index 000000000..c89b71ba5 --- /dev/null +++ b/tests/notes/notesref.c @@ -0,0 +1,64 @@ +#include "clar_libgit2.h" + +#include "notes.h" + +static git_repository *_repo; +static git_note *_note; +static git_signature *_sig; +static git_config *_cfg; + +void test_notes_notesref__initialize(void) +{ + cl_fixture_sandbox("testrepo.git"); + cl_git_pass(git_repository_open(&_repo, "testrepo.git")); +} + +void test_notes_notesref__cleanup(void) +{ + git_note_free(_note); + _note = NULL; + + git_signature_free(_sig); + _sig = NULL; + + git_config_free(_cfg); + _cfg = NULL; + + git_repository_free(_repo); + _repo = NULL; + + cl_fixture_cleanup("testrepo.git"); +} + +void test_notes_notesref__config_corenotesref(void) +{ + git_oid oid, note_oid; + const char *default_ref; + + cl_git_pass(git_signature_now(&_sig, "alice", "alice@example.com")); + cl_git_pass(git_oid_fromstr(&oid, "8496071c1b46c854b31185ea97743be6a8774479")); + + cl_git_pass(git_repository_config(&_cfg, _repo)); + + cl_git_pass(git_config_set_string(_cfg, "core.notesRef", "refs/notes/mydefaultnotesref")); + + cl_git_pass(git_note_create(¬e_oid, _repo, _sig, _sig, NULL, &oid, "test123test\n", 0)); + + cl_git_pass(git_note_read(&_note, _repo, NULL, &oid)); + cl_assert_equal_s("test123test\n", git_note_message(_note)); + cl_assert(!git_oid_cmp(git_note_oid(_note), ¬e_oid)); + + git_note_free(_note); + + cl_git_pass(git_note_read(&_note, _repo, "refs/notes/mydefaultnotesref", &oid)); + cl_assert_equal_s("test123test\n", git_note_message(_note)); + cl_assert(!git_oid_cmp(git_note_oid(_note), ¬e_oid)); + + cl_git_pass(git_note_default_ref(&default_ref, _repo)); + cl_assert_equal_s("refs/notes/mydefaultnotesref", default_ref); + + cl_git_pass(git_config_delete_entry(_cfg, "core.notesRef")); + + cl_git_pass(git_note_default_ref(&default_ref, _repo)); + cl_assert_equal_s(GIT_NOTES_DEFAULT_REF, default_ref); +} |