diff options
author | Ben Straub <bs@github.com> | 2013-10-02 14:45:57 -0700 |
---|---|---|
committer | Ben Straub <bs@github.com> | 2013-10-02 14:45:57 -0700 |
commit | 41a6de289fecbec426d2d977c4d02da5456701ac (patch) | |
tree | dfad243df0578ff3cc555d23dab65c8f43d03b51 /tests-clar | |
parent | 5bfead1dba919f6b47f52da675ea94407e8baf49 (diff) | |
download | libgit2-41a6de289fecbec426d2d977c4d02da5456701ac.tar.gz |
HTTP: handle "relative" redirects
Diffstat (limited to 'tests-clar')
-rw-r--r-- | tests-clar/network/urlparse.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests-clar/network/urlparse.c b/tests-clar/network/urlparse.c index 8892781ad..274d7e900 100644 --- a/tests-clar/network/urlparse.c +++ b/tests-clar/network/urlparse.c @@ -125,6 +125,34 @@ void test_network_urlparse__connection_data_http_downgrade(void) -1); } +void test_network_urlparse__connection_data_relative_redirect(void) +{ + cl_git_pass(gitno_connection_data_from_url(&conndata, + "http://foo.com/bar/baz/biff", NULL)); + cl_git_pass(gitno_connection_data_from_url(&conndata, + "/zap/baz/biff?bam", NULL)); + cl_assert_equal_s(conndata.host, "foo.com"); + cl_assert_equal_s(conndata.port, "80"); + cl_assert_equal_s(conndata.path, "/zap/baz/biff?bam"); + cl_assert_equal_p(conndata.user, NULL); + cl_assert_equal_p(conndata.pass, NULL); + cl_assert_equal_i(conndata.use_ssl, false); +} + +void test_network_urlparse__connection_data_relative_redirect_ssl(void) +{ + cl_git_pass(gitno_connection_data_from_url(&conndata, + "https://foo.com/bar/baz/biff", NULL)); + cl_git_pass(gitno_connection_data_from_url(&conndata, + "/zap/baz/biff?bam", NULL)); + cl_assert_equal_s(conndata.host, "foo.com"); + cl_assert_equal_s(conndata.port, "443"); + cl_assert_equal_s(conndata.path, "/zap/baz/biff?bam"); + cl_assert_equal_p(conndata.user, NULL); + cl_assert_equal_p(conndata.pass, NULL); + cl_assert_equal_i(conndata.use_ssl, true); +} + /* Run this under valgrind */ void test_network_urlparse__connection_data_cleanup(void) { |