[libpeas] Added tests for valid and invalid plugin icons



commit 242890d1e2638aa8a5698e9e2540731afaecdbdf
Author: Garrett Regier <alias301 gmail com>
Date:   Sun Jan 16 13:21:17 2011 -0800

    Added tests for valid and invalid plugin icons

 tests/libpeas-gtk/plugin-manager-store.c      |   37 +++++++++++++++++++++++++
 tests/libpeas-gtk/plugins/Makefile.am         |    6 ++++
 tests/libpeas-gtk/plugins/invalid-icon.plugin |    8 +++++
 tests/libpeas-gtk/plugins/valid-icon.plugin   |    8 +++++
 tests/libpeas-gtk/testing/testing.c           |    1 +
 5 files changed, 60 insertions(+), 0 deletions(-)
---
diff --git a/tests/libpeas-gtk/plugin-manager-store.c b/tests/libpeas-gtk/plugin-manager-store.c
index 537b24d..db21ce4 100644
--- a/tests/libpeas-gtk/plugin-manager-store.c
+++ b/tests/libpeas-gtk/plugin-manager-store.c
@@ -262,6 +262,40 @@ test_gtk_plugin_manager_store_verify_info (TestFixture *fixture)
   g_free (model_info);
 }
 
+static void
+verify_icon (TestFixture *fixture,
+             const gchar *plugin_name,
+             const gchar *icon_name)
+{
+  PeasPluginInfo *info;
+  GtkTreeIter iter;
+  gchar *model_icon_name;
+
+  info = peas_engine_get_plugin_info (fixture->engine, plugin_name);
+  testing_get_iter_for_plugin_info (fixture->view, info, &iter);
+
+  gtk_tree_model_get (fixture->model, &iter,
+    PEAS_GTK_PLUGIN_MANAGER_STORE_ICON_COLUMN, &model_icon_name,
+    -1);
+
+  g_assert_cmpstr (model_icon_name, ==, icon_name);
+
+  if (model_icon_name != NULL)
+    g_free (model_icon_name);
+}
+
+static void
+test_gtk_plugin_manager_store_valid_icon (TestFixture *fixture)
+{
+  verify_icon (fixture, "valid-icon", "gtk-about");
+}
+
+static void
+test_gtk_plugin_manager_store_invalid_icon (TestFixture *fixture)
+{
+  verify_icon (fixture, "invalid-icon", "libpeas-plugin");
+}
+
 int
 main (int    argc,
       char **argv)
@@ -285,6 +319,9 @@ main (int    argc,
   TEST ("verify-builtin", verify_builtin);
   TEST ("verify-info", verify_info);
 
+  TEST ("valid-icon", valid_icon);
+  TEST ("invalid-icon", invalid_icon);
+
 #undef TEST
 
   g_object_unref (peas_engine_get_default ());
diff --git a/tests/libpeas-gtk/plugins/Makefile.am b/tests/libpeas-gtk/plugins/Makefile.am
index dfa90bf..ee31fd7 100644
--- a/tests/libpeas-gtk/plugins/Makefile.am
+++ b/tests/libpeas-gtk/plugins/Makefile.am
@@ -1 +1,7 @@
 SUBDIRS = builtin-configurable configurable
+
+noinst_DATA = \
+	invalid-icon.plugin	\
+	valid-icon.plugin
+
+EXTRA_DIST = $(noinst_DATA)
diff --git a/tests/libpeas-gtk/plugins/invalid-icon.plugin b/tests/libpeas-gtk/plugins/invalid-icon.plugin
new file mode 100644
index 0000000..2cbc8fa
--- /dev/null
+++ b/tests/libpeas-gtk/plugins/invalid-icon.plugin
@@ -0,0 +1,8 @@
+[Plugin]
+Module=invalid-icon
+IAge=2
+Name=Invalid Icon
+Description=A plugin that has an invalid icon.
+Icon=does-not-exist
+Authors=Garrett Regier
+Copyright=Copyright © 2010 Garrett Regier
diff --git a/tests/libpeas-gtk/plugins/valid-icon.plugin b/tests/libpeas-gtk/plugins/valid-icon.plugin
new file mode 100644
index 0000000..78bf559
--- /dev/null
+++ b/tests/libpeas-gtk/plugins/valid-icon.plugin
@@ -0,0 +1,8 @@
+[Plugin]
+Module=valid-icon
+IAge=2
+Name=Valid Icon
+Description=A plugin that has a valid icon.
+Icon=gtk-about
+Authors=Garrett Regier
+Copyright=Copyright © 2010 Garrett Regier
diff --git a/tests/libpeas-gtk/testing/testing.c b/tests/libpeas-gtk/testing/testing.c
index 71e9539..e1ad59d 100644
--- a/tests/libpeas-gtk/testing/testing.c
+++ b/tests/libpeas-gtk/testing/testing.c
@@ -41,6 +41,7 @@ static GLogFunc default_log_func;
  */
 static const gchar *allowed_patterns[] = {
   "*Plugin not found: does-not-exist*",
+  "*Error while loading icon*does-not-exist*",
   "*libcloader.so*cannot open shared object file: No such file or directory*",
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]