aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDiego Escalante Urrelo <descalante@igalia.com>2010-03-10 13:00:27 +0800
committerDiego Escalante Urrelo <descalante@igalia.com>2010-05-14 09:53:39 +0800
commit28b6440b7cef106e61ae827ecaae3ff8ba836c16 (patch)
tree8f25ae2be0b787f8e2192b52613e71d575c71b3e /tests
parent72746c0cb3ccd0bec8cc0ba7cd2f73fd42c4c30c (diff)
downloadgsoc2013-epiphany-28b6440b7cef106e61ae827ecaae3ff8ba836c16.tar.gz
gsoc2013-epiphany-28b6440b7cef106e61ae827ecaae3ff8ba836c16.tar.zst
gsoc2013-epiphany-28b6440b7cef106e61ae827ecaae3ff8ba836c16.zip
tests: add test for ephy-embed-single
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am6
-rw-r--r--tests/testephyembedsingle.c125
2 files changed, 130 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 73badfc7b..6fe7e9c38 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,7 +2,8 @@ noinst_PROGRAMS = \
testephyembedpersist \
testephysearchentry \
testephylocationentry \
- testephyzoomcontrol
+ testephyzoomcontrol \
+ testephyembedsingle
INCLUDES = \
-I$(top_srcdir)/embed \
@@ -41,6 +42,9 @@ endif
testephyembedpersist_SOURCES = \
testephyembedpersist.c
+testephyembedsingle_SOURCES = \
+ testephyembedsingle.c
+
testephysearchentry_SOURCES = \
testephysearchentry.c
diff --git a/tests/testephyembedsingle.c b/tests/testephyembedsingle.c
new file mode 100644
index 000000000..b92dfd005
--- /dev/null
+++ b/tests/testephyembedsingle.c
@@ -0,0 +1,125 @@
+/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set sw=2 ts=2 sts=2 et: */
+/*
+ * testephyembedpersist.c
+ * This file is part of Epiphany
+ *
+ * Copyright © 2010 - 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-debug.h"
+#include "ephy-embed-single.h"
+#include "ephy-embed-prefs.h"
+#include "ephy-file-helpers.h"
+#include "ephy-shell.h"
+#include "ephy-stock-icons.h"
+#include <gtk/gtk.h>
+
+static void
+test_embed_single_new ()
+{
+ EphyEmbedSingle *single;
+
+ single = EPHY_EMBED_SINGLE (g_object_new (EPHY_TYPE_EMBED_SINGLE, NULL));
+ g_assert (EPHY_IS_EMBED_SINGLE (single));
+
+ g_object_unref (single);
+}
+
+static void
+test_embed_single_get_from_shell ()
+{
+ EphyEmbedSingle *single;
+
+ single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (embed_shell));
+ g_assert (EPHY_IS_EMBED_SINGLE (single));
+}
+
+static void
+test_embed_single_network_status ()
+{
+ EphyEmbedSingle *single;
+
+ single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (embed_shell));
+ g_assert (EPHY_IS_EMBED_SINGLE (single));
+
+ /* Defaults to TRUE */
+ g_assert (ephy_embed_single_get_network_status (single));
+
+ ephy_embed_single_set_network_status (single, FALSE);
+ g_assert (ephy_embed_single_get_network_status (single) == FALSE);
+}
+
+static void
+test_embed_single_form_auth ()
+{
+ EphyEmbedSingle *single;
+ GSList *results = NULL;
+
+ single = EPHY_EMBED_SINGLE (g_object_new (EPHY_TYPE_EMBED_SINGLE, NULL));
+ g_assert (EPHY_IS_EMBED_SINGLE (single));
+
+ results = ephy_embed_single_get_form_auth (single, "gnome.org");
+ g_assert_cmpint (g_slist_length (results), ==, 0);
+
+ ephy_embed_single_add_form_auth (single, "gnome.org",
+ "form_username_field", "form_password_field",
+ "username");
+
+ results = ephy_embed_single_get_form_auth (single, "gnome.org");
+ g_assert_cmpint (g_slist_length (results), ==, 1);
+
+ results = ephy_embed_single_get_form_auth (single, "www.gnome.org");
+ g_assert_cmpint (g_slist_length (results), ==, 0);
+
+ g_object_unref (single);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int ret;
+
+ gtk_test_init (&argc, &argv);
+ g_thread_init (NULL);
+
+ ephy_debug_init ();
+ ephy_embed_prefs_init ();
+ _ephy_shell_create_instance ();
+
+ if (!ephy_file_helpers_init (NULL, TRUE, FALSE, NULL)) {
+ g_debug ("Something wrong happened with ephy_file_helpers_init()");
+ return -1;
+ }
+
+ g_test_add_func ("/embed/ephy-embed-single/new",
+ test_embed_single_new);
+ g_test_add_func ("/embed/ephy-embed-single/get_from_shell",
+ test_embed_single_get_from_shell);
+ g_test_add_func ("/embed/ephy-embed-single/network_status",
+ test_embed_single_network_status);
+ g_test_add_func ("/embed/ephy-embed-single/form_auth",
+ test_embed_single_form_auth);
+
+ ret = g_test_run ();
+
+ ephy_file_helpers_shutdown ();
+
+ return ret;
+}