diff options
| author | Ben Straub <bstraub@github.com> | 2012-04-26 18:15:43 -0700 |
|---|---|---|
| committer | Ben Straub <bstraub@github.com> | 2012-05-11 11:30:45 -0700 |
| commit | 9d7bdf7119fe7858fdaa6e79283dacbf98c4128c (patch) | |
| tree | 5568f2acfc951068b84d28a96f9744e1e876c7d2 /tests-clar/refs/revparse.c | |
| parent | f597ea8978bf10f51fabed6cbafbd9625603b09d (diff) | |
| download | libgit2-9d7bdf7119fe7858fdaa6e79283dacbf98c4128c.tar.gz | |
Implemented rev-parse's "^{}" syntax.
Diffstat (limited to 'tests-clar/refs/revparse.c')
| -rw-r--r-- | tests-clar/refs/revparse.c | 57 |
1 files changed, 37 insertions, 20 deletions
diff --git a/tests-clar/refs/revparse.c b/tests-clar/refs/revparse.c index 9ff3bd1da..64aca4a70 100644 --- a/tests-clar/refs/revparse.c +++ b/tests-clar/refs/revparse.c @@ -8,11 +8,11 @@ static git_object *g_obj; // Hepers -static void oid_str_cmp(const git_oid *oid, const char *str) +static void oid_str_cmp(const git_object *obj, const char *expected) { - git_oid oid2; - cl_git_pass(git_oid_fromstr(&oid2, str)); - cl_assert(0 == git_oid_cmp(oid, &oid2)); + char objstr[64] = {0}; + git_oid_to_string(objstr, 64, git_object_id(obj)); + cl_assert_equal_s(objstr, expected); } @@ -28,64 +28,81 @@ void test_refs_revparse__cleanup(void) } +void test_refs_revparse__nonexistant_object(void) +{ + cl_git_fail(git_revparse_single(&g_obj, g_repo, "this doesn't exist")); +} + void test_refs_revparse__shas(void) { // Full SHA should return a valid object cl_git_pass(git_revparse_single(&g_obj, g_repo, "c47800c7266a2be04c571c04d5a6614691ea99bd")); - oid_str_cmp(git_object_id(g_obj), "c47800c7266a2be04c571c04d5a6614691ea99bd"); + oid_str_cmp(g_obj, "c47800c7266a2be04c571c04d5a6614691ea99bd"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "c47800c")); - oid_str_cmp(git_object_id(g_obj), "c47800c7266a2be04c571c04d5a6614691ea99bd"); + oid_str_cmp(g_obj, "c47800c7266a2be04c571c04d5a6614691ea99bd"); } void test_refs_revparse__head(void) { // Named head should return a valid object cl_git_pass(git_revparse_single(&g_obj, g_repo, "HEAD")); - oid_str_cmp(git_object_id(g_obj), "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); + oid_str_cmp(g_obj, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); } void test_refs_revparse__full_refs(void) { // Fully-qualified refs should return valid objects cl_git_pass(git_revparse_single(&g_obj, g_repo, "refs/heads/master")); - oid_str_cmp(git_object_id(g_obj), "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); + oid_str_cmp(g_obj, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "refs/heads/test")); - oid_str_cmp(git_object_id(g_obj), "e90810b8df3e80c413d903f631643c716887138d"); + oid_str_cmp(g_obj, "e90810b8df3e80c413d903f631643c716887138d"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "refs/tags/test")); - oid_str_cmp(git_object_id(g_obj), "b25fa35b38051e4ae45d4222e795f9df2e43f1d1"); + oid_str_cmp(g_obj, "b25fa35b38051e4ae45d4222e795f9df2e43f1d1"); } void test_refs_revparse__partial_refs(void) { // Partially-qualified refs should return valid objects cl_git_pass(git_revparse_single(&g_obj, g_repo, "point_to_blob")); - oid_str_cmp(git_object_id(g_obj), "1385f264afb75a56a5bec74243be9b367ba4ca08"); + oid_str_cmp(g_obj, "1385f264afb75a56a5bec74243be9b367ba4ca08"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "packed-test")); - oid_str_cmp(git_object_id(g_obj), "4a202b346bb0fb0db7eff3cffeb3c70babbd2045"); + oid_str_cmp(g_obj, "4a202b346bb0fb0db7eff3cffeb3c70babbd2045"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "br2")); - oid_str_cmp(git_object_id(g_obj), "a4a7dce85cf63874e984719f4fdd239f5145052f"); + oid_str_cmp(g_obj, "a4a7dce85cf63874e984719f4fdd239f5145052f"); } void test_refs_revparse__describe_output(void) { cl_git_pass(git_revparse_single(&g_obj, g_repo, "blah-7-gc47800c")); - oid_str_cmp(git_object_id(g_obj), "c47800c7266a2be04c571c04d5a6614691ea99bd"); + oid_str_cmp(g_obj, "c47800c7266a2be04c571c04d5a6614691ea99bd"); } void test_refs_revparse__nth_parent(void) { cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^1")); - oid_str_cmp(git_object_id(g_obj), "9fd738e8f7967c078dceed8190330fc8648ee56a"); + oid_str_cmp(g_obj, "9fd738e8f7967c078dceed8190330fc8648ee56a"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^")); - oid_str_cmp(git_object_id(g_obj), "9fd738e8f7967c078dceed8190330fc8648ee56a"); + oid_str_cmp(g_obj, "9fd738e8f7967c078dceed8190330fc8648ee56a"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^2")); - oid_str_cmp(git_object_id(g_obj), "c47800c7266a2be04c571c04d5a6614691ea99bd"); + oid_str_cmp(g_obj, "c47800c7266a2be04c571c04d5a6614691ea99bd"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^1^1")); - oid_str_cmp(git_object_id(g_obj), "4a202b346bb0fb0db7eff3cffeb3c70babbd2045"); + oid_str_cmp(g_obj, "4a202b346bb0fb0db7eff3cffeb3c70babbd2045"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^2^1")); - oid_str_cmp(git_object_id(g_obj), "5b5b025afb0b4c913b4c338a42934a3863bf3644"); + oid_str_cmp(g_obj, "5b5b025afb0b4c913b4c338a42934a3863bf3644"); cl_git_pass(git_revparse_single(&g_obj, g_repo, "be3563a^0")); - oid_str_cmp(git_object_id(g_obj), "be3563ae3f795b2b4353bcce3a527ad0a4f7f644"); + oid_str_cmp(g_obj, "be3563ae3f795b2b4353bcce3a527ad0a4f7f644"); +} + +void test_refs_revparse__not_tag(void) +{ + cl_git_pass(git_revparse_single(&g_obj, g_repo, "point_to_blob^{}")); + oid_str_cmp(g_obj, "1385f264afb75a56a5bec74243be9b367ba4ca08"); + cl_git_pass(git_revparse_single(&g_obj, g_repo, "wrapped_tag^{}")); + oid_str_cmp(g_obj, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"); +} + +void test_refs_revparse__to_type(void) +{ } void test_refs_revparse__reflog(void) |
