]> Pileus Git - ~andy/gtk/blobdiff - gtk/tests/expander.c
Some more documentation fixes
[~andy/gtk] / gtk / tests / expander.c
index 00b9ea170498c7bcbe25cab412e6387d57dd9e8c..87b915f683cc978551885972e2bafc91062bfc39 100644 (file)
@@ -12,9 +12,7 @@
  * 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., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
@@ -26,7 +24,7 @@
 #include <gtk/gtk.h>
 
 static void
-test_click (void)
+test_click_expander (void)
 {
   GtkWidget *window = gtk_test_create_simple_window ("Test Window", "Test click on expander");
   GtkWidget *expander = gtk_expander_new ("Test Expander");
@@ -34,7 +32,7 @@ test_click (void)
   gboolean expanded;
   gboolean simsuccess;
   gtk_container_add (GTK_CONTAINER (expander), label);
-  gtk_container_add (GTK_CONTAINER (GTK_BIN (window)->child), expander);
+  gtk_container_add (GTK_CONTAINER (gtk_bin_get_child (GTK_BIN (window))), expander);
   gtk_widget_show (expander);
   gtk_widget_show (label);
   gtk_widget_show_now (window);
@@ -57,11 +55,38 @@ test_click (void)
   g_assert (!expanded);
 }
 
+static void
+test_click_content_widget (void)
+{
+  GtkWidget *window = gtk_test_create_simple_window ("Test Window", "Test click on content widget");
+  GtkWidget *expander = gtk_expander_new ("Test Expander");
+  GtkWidget *entry = gtk_entry_new ();
+  gboolean expanded;
+  gboolean simsuccess;
+  gtk_container_add (GTK_CONTAINER (expander), entry);
+  gtk_container_add (GTK_CONTAINER (gtk_bin_get_child (GTK_BIN (window))), expander);
+  gtk_expander_set_expanded (GTK_EXPANDER (expander), TRUE);
+  gtk_widget_show (expander);
+  gtk_widget_show (entry);
+  gtk_widget_show_now (window);
+
+  /* check click on content with expander open */
+  expanded = gtk_expander_get_expanded (GTK_EXPANDER (expander));
+  g_assert (expanded);
+  simsuccess = gtk_test_widget_click (entry, 1, 0);
+  g_assert (simsuccess == TRUE);
+  while (gtk_events_pending ()) /* let expander timeout/idle handlers update */
+    gtk_main_iteration ();
+  expanded = gtk_expander_get_expanded (GTK_EXPANDER (expander));
+  g_assert (expanded);
+}
+
 int
 main (int   argc,
       char *argv[])
 {
   gtk_test_init (&argc, &argv);
-  g_test_add_func ("/expander/click", test_click);
+  g_test_add_func ("/expander/click-expander", test_click_expander);
+  g_test_add_func ("/expander/click-content-widget", test_click_content_widget);
   return g_test_run();
 }