[gtk/fix-reftest] Fix the icon-effect-missing reftest




commit 4f81dc1eafc13595841ab404dc8070909500dafa
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue May 4 16:21:37 2021 -0400

    Fix the icon-effect-missing reftest
    
    This was comparing the included image-missing icon
    with the one in the current icontheme on the test
    system. Works fine as long as we don't change
    the icons (which we just did). To avoid this, set
    the icontheme to hicolor for this test, which does
    not have the image-missing icon, so we end up getting
    the builtin icon for both ui files.

 testsuite/reftests/icon-effect-missing.ref.ui |  1 +
 testsuite/reftests/icon-theme-hicolor.c       | 35 +++++++++++++++++++++++++++
 testsuite/reftests/meson.build                |  1 +
 3 files changed, 37 insertions(+)
---
diff --git a/testsuite/reftests/icon-effect-missing.ref.ui b/testsuite/reftests/icon-effect-missing.ref.ui
index 827aaa9dcb..ea916ba8a6 100644
--- a/testsuite/reftests/icon-effect-missing.ref.ui
+++ b/testsuite/reftests/icon-effect-missing.ref.ui
@@ -2,6 +2,7 @@
 <interface>
   <object class="GtkWindow" id="window1">
     <property name="decorated">0</property>
+    <signal name="map" handler="reftest:set_icon_theme_hicolor" swapped="no"/>
     <child>
       <object class="GtkBox" id="box1">
         <child>
diff --git a/testsuite/reftests/icon-theme-hicolor.c b/testsuite/reftests/icon-theme-hicolor.c
new file mode 100644
index 0000000000..3934fd8cbe
--- /dev/null
+++ b/testsuite/reftests/icon-theme-hicolor.c
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 Red Hat, Inc
+ *
+ * Author:
+ *      Matthias Clasen <mclasen redhat com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+
+
+G_MODULE_EXPORT void
+set_icon_theme_hicolor (void)
+{
+  GtkSettings *settings;
+
+  g_test_message ("Attention: setting icon-theme to hicolor");
+
+  settings = gtk_settings_get_for_display (gdk_display_get_default ());
+  g_object_set (settings, "gtk-icon-theme-name", "hicolor", NULL);
+}
diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build
index f9b1f97eba..a8ef4b48bc 100644
--- a/testsuite/reftests/meson.build
+++ b/testsuite/reftests/meson.build
@@ -23,6 +23,7 @@ libreftest = library('reftest',
     'textview-border-windows.c',
     'textview-tags.c',
     'animation-direction.c',
+    'icon-theme-hicolor.c',
   ],
   link_with: libgtkreftestprivate,
   c_args: reftest_cflags,


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