[maemo-commits] [maemo-commits] r17144 - in projects/haf/trunk/libmatchbox2: . tests
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Jan 12 23:52:27 EET 2009
- Previous message: [maemo-commits] r17143 - in projects/haf/trunk/clutter: clutter clutter/x11 debian
- Next message: [maemo-commits] r17145 - in projects/haf/trunk/osso-app-killer: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: tthurman
Date: 2009-01-12 23:52:06 +0200 (Mon, 12 Jan 2009)
New Revision: 17144
Added:
projects/haf/trunk/libmatchbox2/tests/
projects/haf/trunk/libmatchbox2/tests/test-toplevel.c
projects/haf/trunk/libmatchbox2/tests/test-transience.c
Modified:
projects/haf/trunk/libmatchbox2/ChangeLog
Log:
Added some basic test programs (not part of the build system yet)
* tests (added):
* tests/test-toplevel.c (added):
* tests/test-transience.c (added):
Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog 2009-01-12 16:23:31 UTC (rev 17143)
+++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-01-12 21:52:06 UTC (rev 17144)
@@ -1,3 +1,11 @@
+2009-01-12 Thomas Thurman <thomas.thurman at collabora.co.uk>
+
+ Added some basic test programs (not part of the build system yet)
+
+ * tests (added):
+ * tests/test-toplevel.c (added):
+ * tests/test-transience.c (added):
+
2009-01-12 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
Release 0.2.13
Added: projects/haf/trunk/libmatchbox2/tests/test-toplevel.c
===================================================================
--- projects/haf/trunk/libmatchbox2/tests/test-toplevel.c 2009-01-12 16:23:31 UTC (rev 17143)
+++ projects/haf/trunk/libmatchbox2/tests/test-toplevel.c 2009-01-12 21:52:06 UTC (rev 17144)
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation, all rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+#define MAEMO_CHANGES 1
+
+#include <X11/Xlib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+
+GtkWidget *a, *b, *c;
+
+static char current_window (void)
+{
+ if (gtk_window_has_toplevel_focus (GTK_WINDOW (a)))
+ return 'a';
+ else if (gtk_window_has_toplevel_focus (GTK_WINDOW (b)))
+ return 'b';
+ else if (gtk_window_has_toplevel_focus (GTK_WINDOW (c)))
+ return 'c';
+ else
+ return '?';
+}
+
+gboolean do_something (gpointer dummy)
+{
+ static count = 0;
+ static char expecting = '?';
+
+ switch (count++)
+ {
+ case 0:
+ a = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (a);
+ g_warning ("Opened one window a");
+ expecting = 'a';
+ break;
+
+ case 2:
+ b = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (b);
+ g_warning ("Opened another window b");
+ expecting = 'b';
+ break;
+
+ case 4:
+ c = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (c);
+ g_warning ("Opened a third window c");
+ expecting = 'c';
+ break;
+
+ case 6:
+ gtk_widget_hide_all (c);
+
+ g_warning ("Hidden that third window");
+ expecting = 'b';
+ break;
+
+ case 8:
+ g_warning ("Pass.");
+ gtk_main_quit ();
+ break;
+
+ default: /* odd numbers */
+ if (current_window () == expecting)
+ g_warning ("%c is focussed as expected", current_window ());
+ else
+ {
+ g_warning ("Fail: %c is focussed but we expected %c.", current_window (),
+ expecting);
+ gtk_main_quit ();
+ }
+ }
+}
+
+int
+main (int argc, char **argv)
+{
+
+ gtk_init (&argc, &argv);
+
+ gtk_timeout_add (1000, do_something, NULL);
+
+ gtk_main ();
+
+ return 0;
+}
Added: projects/haf/trunk/libmatchbox2/tests/test-transience.c
===================================================================
--- projects/haf/trunk/libmatchbox2/tests/test-transience.c 2009-01-12 16:23:31 UTC (rev 17143)
+++ projects/haf/trunk/libmatchbox2/tests/test-transience.c 2009-01-12 21:52:06 UTC (rev 17144)
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation, all rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+#define MAEMO_CHANGES 1
+
+#include <X11/Xlib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+
+GtkWidget *a, *b, *c;
+
+static char current_window (void)
+{
+ if (gtk_window_has_toplevel_focus (GTK_WINDOW (a)))
+ return 'a';
+ else if (gtk_window_has_toplevel_focus (GTK_WINDOW (b)))
+ return 'b';
+ else if (gtk_window_has_toplevel_focus (GTK_WINDOW (c)))
+ return 'c';
+ else
+ return '?';
+}
+
+gboolean do_something (gpointer dummy)
+{
+ static count = 0;
+ static char expecting = '?';
+
+ switch (count++)
+ {
+ case 0:
+ a = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (a);
+ g_warning ("Opened one window a");
+ expecting = 'a';
+ break;
+
+ case 2:
+ b = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (b);
+ gtk_window_set_transient_for (GTK_WINDOW (a), GTK_WINDOW (b));
+ g_warning ("Opened another window b, and set 'a' transient to 'b'");
+ expecting = 'b';
+ break;
+
+ case 4:
+ c = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show_all (c);
+ gtk_window_set_transient_for (GTK_WINDOW (c), GTK_WINDOW (b));
+ g_warning ("Opened a third window c, and set 'c' transient to 'b'");
+ expecting = 'c';
+ break;
+
+ case 6:
+ gtk_widget_hide_all (c);
+
+ g_warning ("Hidden that third window 'c'; focus should now pass to the other transient, 'a'");
+ expecting = 'a';
+ break;
+
+ case 8:
+ g_warning ("Pass.");
+ gtk_main_quit ();
+ break;
+
+ default: /* odd numbers */
+ if (current_window () == expecting)
+ g_warning ("%c is focussed as expected", current_window ());
+ else
+ {
+ g_warning ("Fail: %c is focussed but we expected %c.", current_window (),
+ expecting);
+ gtk_main_quit ();
+ }
+ }
+}
+
+int
+main (int argc, char **argv)
+{
+
+ gtk_init (&argc, &argv);
+
+ gtk_timeout_add (1000, do_something, NULL);
+
+ gtk_main ();
+
+ return 0;
+}
- Previous message: [maemo-commits] r17143 - in projects/haf/trunk/clutter: clutter clutter/x11 debian
- Next message: [maemo-commits] r17145 - in projects/haf/trunk/osso-app-killer: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
