From f550b712fc1f930080fc240e2a30c60cd231d36f Mon Sep 17 00:00:00 2001 From: Diego Escalante Urrelo Date: Mon, 29 Sep 2008 05:52:51 +0000 Subject: Add testephylocationentry.c See the FIXME about the mystery crasher, it's probably some kind of leak. svn path=/trunk/; revision=8552 --- tests/Makefile.am | 20 +++++-- tests/testephyiconentry.c | 24 +++++--- tests/testephylocationentry.c | 135 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+), 13 deletions(-) create mode 100644 tests/testephylocationentry.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 809121483..7f9644c73 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,8 +1,10 @@ noinst_PROGRAMS = \ testephysearchentry \ + testephylocationentry \ testephyiconentry INCLUDES = \ + -I$(top_builddir)/lib \ -I$(top_builddir)/lib/widgets CFLAGS = \ @@ -10,17 +12,25 @@ CFLAGS = \ $(AM_CFLAGS) LDADD = \ - $(DEPENDENCIES_LIBS) + $(DEPENDENCIES_LIBS) testephysearchentry_SOURCES = \ testephysearchentry.c testephysearchentry_LDADD = \ - $(top_builddir)/lib/widgets/libephywidgets.la \ - $(DEPENDENCIES_LIBS) + $(top_builddir)/lib/widgets/libephywidgets.la \ + $(DEPENDENCIES_LIBS) testephyiconentry_SOURCES = \ testephyiconentry.c testephyiconentry_LDADD = \ - $(top_builddir)/lib/widgets/libephywidgets.la \ - $(DEPENDENCIES_LIBS) + $(top_builddir)/lib/widgets/libephywidgets.la \ + $(DEPENDENCIES_LIBS) +testephylocationentry_SOURCES = \ + testephylocationentry.c +testephylocationentry_LDADD = \ + $(top_builddir)/embed/libephyembed.la \ + $(top_builddir)/lib/widgets/libephywidgets.la \ + $(top_builddir)/lib/egg/libegg.la \ + $(top_builddir)/lib/libephymisc.la \ + $(DEPENDENCIES_LIBS) diff --git a/tests/testephyiconentry.c b/tests/testephyiconentry.c index b747f9f3e..8a3df5459 100644 --- a/tests/testephyiconentry.c +++ b/tests/testephyiconentry.c @@ -77,12 +77,20 @@ test_entry_get_entry (void) int main (int argc, char *argv[]) { - gtk_test_init (&argc, &argv); - - entry = ephy_icon_entry_new (); - - g_test_add_func ("/lib/widgets/ephy-icon-entry/pack_widget", test_entry_pack_widget); - g_test_add_func ("/lib/widgets/ephy-icon-entry/get_entry", test_entry_get_entry); - - return g_test_run (); + gtk_test_init (&argc, &argv); + + g_test_add_func ( + "/lib/widgets/ephy-icon-entry/new", + test_entry_new); + /* FIXME: If we invert this two add_funcs, it will NOT segfault, weird! + * memory leak anyone? + */ + g_test_add_func ( + "/lib/widgets/ephy-icon-entry/pack_widget", + test_entry_pack_widget); + g_test_add_func ( + "/lib/widgets/ephy-icon-entry/get_entry", + test_entry_get_entry); + + return g_test_run (); } diff --git a/tests/testephylocationentry.c b/tests/testephylocationentry.c new file mode 100644 index 000000000..acd958f3e --- /dev/null +++ b/tests/testephylocationentry.c @@ -0,0 +1,135 @@ +/* + * testephylocationentry.c + * This file is part of Epiphany + * + * Copyright (C) 2008 - Diego Escalante Urrelo + * + * 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 "ephy-location-entry.h" +#include + +static void +test_entry_new (void) +{ + GtkWidget *entry; + entry = ephy_location_entry_new (); + + g_assert (GTK_IS_WIDGET (entry)); + g_assert (EPHY_IS_LOCATION_ENTRY (entry)); +} + +static void +test_entry_get_entry (void) +{ + EphyLocationEntry *entry; + entry = EPHY_LOCATION_ENTRY (ephy_location_entry_new ()); + + g_assert (GTK_IS_ENTRY ( + ephy_location_entry_get_entry (entry))); +} + +static void +test_entry_set_location (void) +{ + const char *set = "test"; + const char *null; + const char *get; + + EphyLocationEntry *entry; + entry = EPHY_LOCATION_ENTRY (ephy_location_entry_new ()); + + null = ephy_location_entry_get_location (entry); + + ephy_location_entry_set_location (entry, set, NULL); + get = ephy_location_entry_get_location (entry); + g_assert_cmpstr (set, ==, get); +} + +/* + * FIXME: there's an already an assertion to avoid null as the arg, but we + * should *confirm* that it indeed fails, although I'm not pretty sure it's + * required to fail if the text is NULL. +static void +test_entry_set_location_null (void) +{ + const char *set = "test"; + const char *get; + + EphyLocationEntry *entry; + entry = EPHY_LOCATION_ENTRY (ephy_location_entry_new ()); + + ephy_location_entry_set_location (entry, NULL, NULL); + get = ephy_location_entry_get_location (entry); + g_assert_cmpstr (set, ==, get); +} +*/ + +static void +test_entry_get_location (void) +{ + const char *set = "test"; + const char *get; + + EphyLocationEntry *entry; + entry = EPHY_LOCATION_ENTRY (ephy_location_entry_new ()); + + ephy_location_entry_set_location (entry, set, NULL); + get = ephy_location_entry_get_location (entry); + g_assert_cmpstr (set, ==, get); +} + +static void +test_entry_get_location_empty (void) +{ + const char *get; + + EphyLocationEntry *entry; + entry = EPHY_LOCATION_ENTRY (ephy_location_entry_new ()); + + get = ephy_location_entry_get_location (entry); + g_assert_cmpstr ("", ==, get); +} + +int +main (int argc, char *argv[]) +{ + gtk_test_init (&argc, &argv); + + g_test_add_func ( + "/lib/widgets/ephy-location-entry/new", + test_entry_new); + g_test_add_func ( + "/lib/widgets/ephy-location-entry/get_entry", + test_entry_get_entry); + g_test_add_func ( + "/lib/widgets/ephy-location-entry/set_location", + test_entry_set_location); + g_test_add_func ( + "/lib/widgets/ephy-location-entry/get_location", + test_entry_get_location); + /* + g_test_add_func ( + "/lib/widgets/ephy-location-entry/set_location_null", + test_entry_set_location_null); + */ + g_test_add_func ( + "/lib/widgets/ephy-location-entry/get_location_empty", + test_entry_get_location_empty); + + return g_test_run (); +} -- cgit v1.2.3