remote: test for supported URLs in a single place

Instead of using ifdefs to run the tests, use them to set when we expect
to support a particular scheme and always have the tests in the code.
This commit is contained in:
Carlos Martín Nieto 2014-08-31 21:53:42 +02:00
parent ba67c07522
commit 05ac70514f

View File

@ -91,31 +91,24 @@ void test_network_remote_remotes__error_when_no_push_available(void)
git_remote_free(r); git_remote_free(r);
} }
void test_network_remote_remotes__supported_transport_methods_are_supported(void) void test_network_remote_remotes__supported_urls(void)
{ {
cl_assert(git_remote_supported_url("git://github.com/libgit2/libgit2")); int ssh_supported = 0, https_supported = 0;
cl_assert(git_remote_supported_url("http://github.com/libgit2/libgit2"));
#ifdef GIT_SSH #ifdef GIT_SSH
cl_assert(git_remote_supported_url("git@github.com:libgit2/libgit2.git")); ssh_supported = 1;
cl_assert(git_remote_supported_url("ssh://git@github.com/libgit2/libgit2.git"));
#endif #endif
#if defined(GIT_SSL) || defined(GIT_WINHTTP) #if defined(GIT_SSL) || defined(GIT_WINHTTP)
cl_assert(git_remote_supported_url("https://git@github.com/libgit2/libgit2.git")); https_supported = 1;
#endif
}
void test_network_remote_remotes__unsupported_transport_methods_are_unsupported(void)
{
#ifndef GIT_SSH
cl_assert(!git_remote_supported_url("git@github.com:libgit2/libgit2.git"));
cl_assert(!git_remote_supported_url("ssh://git@github.com/libgit2/libgit2.git"));
#endif #endif
#if !defined(GIT_SSL) && !defined(GIT_WINHTTP) cl_assert(git_remote_supported_url("git://github.com/libgit2/libgit2"));
cl_assert(!git_remote_supported_url("https://git@github.com/libgit2/libgit2.git")); cl_assert(git_remote_supported_url("http://github.com/libgit2/libgit2"));
#endif
cl_assert_equal_i(ssh_supported, git_remote_supported_url("git@github.com:libgit2/libgit2.git"));
cl_assert_equal_i(ssh_supported, git_remote_supported_url("ssh://git@github.com/libgit2/libgit2.git"));
cl_assert_equal_i(https_supported, git_remote_supported_url("https://github.com/libgit2/libgit2.git"));
} }
void test_network_remote_remotes__refspec_parsing(void) void test_network_remote_remotes__refspec_parsing(void)