networkaddress: Improve test coverage

This commit is contained in:
Matthias Clasen 2012-04-08 10:17:04 -04:00
parent 5632e9fc9c
commit 1e2cf010e7

View File

@ -6,20 +6,54 @@ test_basic (void)
GNetworkAddress *address;
guint port;
gchar *hostname;
gchar *scheme;
address = (GNetworkAddress*)g_network_address_new ("www.gnome.org", 8080);
g_assert_cmpstr (g_network_address_get_hostname (address), ==, "www.gnome.org");
g_assert_cmpint (g_network_address_get_port (address), ==, 8080);
g_object_get (address, "hostname", &hostname, "port", &port, NULL);
g_object_get (address, "hostname", &hostname, "port", &port, "scheme", &scheme, NULL);
g_assert_cmpstr (hostname, ==, "www.gnome.org");
g_assert_cmpint (port, ==, 8080);
g_assert (scheme == NULL);
g_free (hostname);
g_object_unref (address);
}
static void
test_parse_uri (void)
{
GNetworkAddress *address;
GError *error = NULL;
address = (GNetworkAddress*)g_network_address_parse_uri ("http://www.gnome.org:2020/start", 8080, &error);
g_assert_no_error (error);
g_assert_cmpstr (g_network_address_get_scheme (address), ==, "http");
g_assert_cmpstr (g_network_address_get_hostname (address), ==, "www.gnome.org");
g_assert_cmpint (g_network_address_get_port (address), ==, 2020);
g_object_unref (address);
address = (GNetworkAddress*)g_network_address_parse_uri ("ftp://joe~:(*)%46@ftp.gnome.org:2020/start", 8080, &error);
g_assert_no_error (error);
g_assert_cmpstr (g_network_address_get_scheme (address), ==, "ftp");
g_assert_cmpstr (g_network_address_get_hostname (address), ==, "ftp.gnome.org");
g_assert_cmpint (g_network_address_get_port (address), ==, 2020);
g_object_unref (address);
address = (GNetworkAddress*)g_network_address_parse_uri ("ftp://[fec0::abcd]/start", 8080, &error);
g_assert_no_error (error);
g_assert_cmpstr (g_network_address_get_scheme (address), ==, "ftp");
g_assert_cmpstr (g_network_address_get_hostname (address), ==, "fec0::abcd");
g_assert_cmpint (g_network_address_get_port (address), ==, 8080);
g_object_unref (address);
address = (GNetworkAddress*)g_network_address_parse_uri ("ftp://joe%x-@ftp.gnome.org:2020/start", 8080, &error);
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT);
g_assert (address == NULL);
}
typedef struct _ParseTest ParseTest;
struct _ParseTest
@ -81,6 +115,7 @@ main (int argc, char *argv[])
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/network-address/basic", test_basic);
g_test_add_func ("/network-address/parse/uri", test_parse_uri);
for (i = 0; i < G_N_ELEMENTS (tests); i++)
{