[gtk+] testsuite: add hide-titlebar-when-maximized test for GtkWindow
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] testsuite: add hide-titlebar-when-maximized test for GtkWindow
- Date: Mon, 24 Nov 2014 17:53:13 +0000 (UTC)
commit 3a5d15358e4675a8b8c3e459b874d9b5719c66a4
Author: Ray Strode <rstrode redhat com>
Date: Fri Nov 21 14:17:06 2014 -0500
testsuite: add hide-titlebar-when-maximized test for GtkWindow
This commit adds a test that checks whether or not
hide-titlebar-when-maximized can be set before the window is
realized.
https://bugzilla.gnome.org/show_bug.cgi?id=740287
testsuite/gtk/window.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
---
diff --git a/testsuite/gtk/window.c b/testsuite/gtk/window.c
index 74fa6eb..fa8dfc6 100644
--- a/testsuite/gtk/window.c
+++ b/testsuite/gtk/window.c
@@ -1,5 +1,10 @@
#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
+#include <gdk/gdkx.h>
+#include <X11/Xatom.h>
+#endif
+
static gboolean interactive = FALSE;
static gboolean
@@ -336,6 +341,73 @@ test_show_hide3 (void)
gtk_widget_destroy (window);
}
+static gboolean
+on_map_event (GtkWidget *window)
+{
+ gtk_main_quit ();
+
+ return FALSE;
+}
+
+static void
+test_hide_titlebar_when_maximized (void)
+{
+ GtkWidget *window;
+
+ g_test_bug ("740287");
+
+ /* test that hide-titlebar-when-maximized gets set appropriately
+ * on the window, if it's set before the window is realized.
+ */
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+
+ g_signal_connect (window,
+ "map-event",
+ G_CALLBACK (on_map_event),
+ NULL);
+
+ gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
+
+ gtk_widget_show (window);
+
+ g_timeout_add (100, stop_main, NULL);
+ gtk_main ();
+
+#ifdef GDK_WINDOWING_X11
+ {
+ Atom type;
+ gint format;
+ gulong nitems;
+ gulong bytes_after;
+ gulong *hide = NULL;
+
+ XGetWindowProperty (gdk_x11_get_default_xdisplay (),
+ GDK_WINDOW_XID (gtk_widget_get_window (window)),
+ gdk_x11_get_xatom_by_name ("_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED"),
+ 0,
+ G_MAXLONG,
+ False,
+ XA_CARDINAL,
+ &type,
+ &format,
+ &nitems,
+ &bytes_after,
+ (guchar **) &hide);
+
+ g_assert_cmpint (type, !=, None);
+ g_assert_cmpint (type, ==, XA_CARDINAL);
+ g_assert_cmpint (format, ==, 32);
+ g_assert_cmpint (nitems, ==, 1);
+ g_assert_cmpint (hide[0], ==, 1);
+
+ XFree (hide);
+ }
+#endif
+
+ gtk_widget_destroy (window);
+}
+
int
main (int argc, char *argv[])
{
@@ -356,6 +428,7 @@ main (int argc, char *argv[])
g_test_add_func ("/window/show-hide", test_show_hide);
g_test_add_func ("/window/show-hide2", test_show_hide2);
g_test_add_func ("/window/show-hide3", test_show_hide3);
+ g_test_add_func ("/window/hide-titlebar-when-maximized", test_hide_titlebar_when_maximized);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]