aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/ephy-string-test.c70
2 files changed, 74 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8a2f10690..d41bd8ad4 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -13,6 +13,7 @@ noinst_PROGRAMS = \
test-ephy-session \
test-ephy-shell \
test-ephy-sqlite \
+ test-ephy-string \
test-ephy-web-app-utils \
test-ephy-web-view \
$(NULL)
@@ -154,6 +155,9 @@ test_ephy_shell_SOURCES = \
test_ephy_sqlite_SOURCES = \
ephy-sqlite-test.c
+test_ephy_string_SOURCES = \
+ ephy-string-test.c
+
test_ephy_web_app_utils_SOURCES = \
ephy-web-app-utils-test.c
diff --git a/tests/ephy-string-test.c b/tests/ephy-string-test.c
new file mode 100644
index 000000000..df3972e90
--- /dev/null
+++ b/tests/ephy-string-test.c
@@ -0,0 +1,70 @@
+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * Copyright © 2012 Igalia S.L.
+ *
+ * Epiphany is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Epiphany is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Epiphany; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "ephy-string.h"
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+typedef struct {
+ char *uri;
+ char *hostname;
+} HostnameTest;
+
+static const HostnameTest hostname_tests[] = {
+ { "http://www.google.com", "www.google.com" },
+ { "http://www.google.com/this/is/a/path", "www.google.com" },
+ { "www.google.com", "www.google.com" },
+ { "google.com", "google.com" },
+ { "file:///tmp/", NULL },
+ { NULL, NULL },
+ { "garbage garbage", "garbage garbage" } /* FIXME: should this be NULL? */
+};
+
+static void
+test_ephy_string_get_hostname ()
+{
+ int i;
+
+ for (i = 0; i < G_N_ELEMENTS (hostname_tests); i++) {
+ char *host;
+ HostnameTest test = hostname_tests[i];
+
+ host = ephy_string_get_host_name (test.uri);
+ g_assert_cmpstr (host, ==, test.hostname);
+ g_free (host);
+ }
+}
+
+int
+main (int argc, char *argv[])
+{
+ gboolean ret;
+
+ gtk_test_init (&argc, &argv);
+
+ g_test_add_func ("/lib/ephy-string/get_hostname",
+ test_ephy_string_get_hostname);
+
+ ret = g_test_run ();
+
+ return ret;
+}