[gtk+] Add more test cases



commit e9122eca68b36fec9debe8fefd5a68b60f6b657f
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue May 7 08:48:01 2013 -0400

    Add more test cases
    
    These are taken from
    https://bugzilla.gnome.org/show_bug.cgi?id=696882

 gtk/tests/window.c |  121 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 0 deletions(-)
---
diff --git a/gtk/tests/window.c b/gtk/tests/window.c
index a907bb6..1f4d42c 100644
--- a/gtk/tests/window.c
+++ b/gtk/tests/window.c
@@ -167,12 +167,130 @@ test_resize_popup (void)
   gtk_widget_destroy (window);
 }
 
+static void
+test_show_hide (void)
+{
+  GtkWidget *window;
+  gint w, h, w1, h1;
+
+  g_test_bug ("696882");
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w, &h);
+
+  gtk_widget_hide (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_widget_destroy (window);
+}
+
+static void
+test_show_hide2 (void)
+{
+  GtkWidget *window;
+  gint x, y, w, h, w1, h1;
+
+  g_test_bug ("696882");
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_position (GTK_WINDOW (window), &x, &y);
+  gtk_window_get_size (GTK_WINDOW (window), &w, &h);
+  gtk_widget_hide (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_window_move (GTK_WINDOW (window), x, y);
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_widget_destroy (window);
+}
+
+static void
+test_show_hide3 (void)
+{
+  GtkWidget *window;
+  gint x, y, w, h, w1, h1;
+
+  g_test_bug ("696882");
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
+
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_position (GTK_WINDOW (window), &x, &y);
+  gtk_window_get_size (GTK_WINDOW (window), &w, &h);
+  gtk_widget_hide (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_window_move (GTK_WINDOW (window), x, y);
+  gtk_widget_show (window);
+
+  g_timeout_add (100, stop_main, NULL);
+  gtk_main ();
+
+  gtk_window_get_size (GTK_WINDOW (window), &w1, &h1);
+  g_assert_cmpint (w, ==, w1);
+  g_assert_cmpint (h, ==, h1);
+
+  gtk_widget_destroy (window);
+}
+
 int
 main (int argc, char *argv[])
 {
   gint i;
 
   gtk_test_init (&argc, &argv);
+  g_test_bug_base ("http://bugzilla.gnome.org/";);
 
   for (i = 0; i < argc; i++)
     {
@@ -182,6 +300,9 @@ main (int argc, char *argv[])
 
   g_test_add_func ("/window/default-size", test_default_size);
   g_test_add_func ("/window/resize", test_resize);
+  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/resize-popup", test_resize_popup);
 
   return g_test_run ();


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