[gnome-software] trivial: Add a simple self test for AS_APP_QUIRK_MATCH_ANY_PREFIX
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] trivial: Add a simple self test for AS_APP_QUIRK_MATCH_ANY_PREFIX
- Date: Mon, 27 Jun 2016 11:14:14 +0000 (UTC)
commit 68ae65d32ae0a6bc95403bd39443537db90b0748
Author: Richard Hughes <richard hughsie com>
Date: Mon Jun 27 09:38:36 2016 +0100
trivial: Add a simple self test for AS_APP_QUIRK_MATCH_ANY_PREFIX
src/gs-self-test.c | 18 ++++++++++++++++++
src/plugins/gs-plugin-dummy.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-self-test.c b/src/gs-self-test.c
index 04aa555..0f4d746 100644
--- a/src/gs-self-test.c
+++ b/src/gs-self-test.c
@@ -879,6 +879,21 @@ gs_plugin_loader_authentication_func (GsPluginLoader *plugin_loader)
g_assert (ret);
}
+static void
+gs_plugin_loader_wildcard_func (GsPluginLoader *plugin_loader)
+{
+ g_autoptr(GError) error = NULL;
+ g_autoptr(GsAppList) list = NULL;
+
+ list = gs_plugin_loader_get_popular (plugin_loader,
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON,
+ NULL,
+ &error);
+ g_assert_no_error (error);
+ g_assert (list != NULL);
+ g_assert_cmpint (gs_app_list_length (list), ==, 1);
+}
+
int
main (int argc, char **argv)
{
@@ -1018,6 +1033,9 @@ main (int argc, char **argv)
g_assert (gs_plugin_loader_get_enabled (plugin_loader, "dummy"));
/* plugin tests go here */
+ g_test_add_data_func ("/gnome-software/plugin-loader{wildcard}",
+ plugin_loader,
+ (GTestDataFunc) gs_plugin_loader_wildcard_func);
g_test_add_data_func ("/gnome-software/plugin-loader{authentication}",
plugin_loader,
(GTestDataFunc) gs_plugin_loader_authentication_func);
diff --git a/src/plugins/gs-plugin-dummy.c b/src/plugins/gs-plugin-dummy.c
index bcdbd68..f870b04 100644
--- a/src/plugins/gs-plugin-dummy.c
+++ b/src/plugins/gs-plugin-dummy.c
@@ -283,6 +283,20 @@ gs_plugin_add_installed (GsPlugin *plugin,
}
gboolean
+gs_plugin_add_popular (GsPlugin *plugin,
+ GsAppList *list,
+ GCancellable *cancellable,
+ GError **error)
+{
+ g_autoptr(GsApp) app = gs_app_new ("chiron.desktop");
+ gs_app_add_quirk (app, AS_APP_QUIRK_MATCH_ANY_PREFIX);
+ gs_app_set_metadata (app, "GnomeSoftware::Creator",
+ gs_plugin_get_name (plugin));
+ gs_app_list_add (list, app);
+ return TRUE;
+}
+
+gboolean
gs_plugin_app_remove (GsPlugin *plugin,
GsApp *app,
GCancellable *cancellable,
@@ -360,6 +374,8 @@ gs_plugin_refine_app (GsPlugin *plugin,
g_strcmp0 (gs_app_get_id (app), "zeus.desktop") == 0) {
if (gs_app_get_state (app) == AS_APP_STATE_UNKNOWN)
gs_app_set_state (app, AS_APP_STATE_INSTALLED);
+ if (gs_app_get_kind (app) == AS_APP_KIND_UNKNOWN)
+ gs_app_set_kind (app, AS_APP_KIND_DESKTOP);
}
/* license */
@@ -383,6 +399,21 @@ gs_plugin_refine_app (GsPlugin *plugin,
gs_app_set_origin (app, "london-east");
}
+ /* default */
+ if (g_strcmp0 (gs_app_get_id (app), "chiron.desktop") == 0) {
+ if (gs_app_get_name (app) == NULL)
+ gs_app_set_name (app, GS_APP_QUALITY_NORMAL, "tmp");
+ if (gs_app_get_summary (app) == NULL)
+ gs_app_set_summary (app, GS_APP_QUALITY_NORMAL, "tmp");
+ if (gs_app_get_icons(app)->len == 0) {
+ g_autoptr(AsIcon) ic = NULL;
+ ic = as_icon_new ();
+ as_icon_set_kind (ic, AS_ICON_KIND_STOCK);
+ as_icon_set_name (ic, "drive-harddisk");
+ gs_app_add_icon (app, ic);
+ }
+ }
+
/* description */
if (flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_DESCRIPTION) {
if (g_strcmp0 (gs_app_get_id (app), "chiron.desktop") == 0) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]