Add a test for popover accessible parents

This tests the fix in the previous commit.
This commit is contained in:
Matthias Clasen 2014-07-30 23:11:17 +02:00
parent 2b0ae4bad3
commit a6b8800531
3 changed files with 66 additions and 0 deletions

View File

@ -37,6 +37,8 @@ TEST_PROGS += derive
TEST_PROGS += value
TEST_PROGS += misc
# the focus test has no chance of working until
# all the idle handlers in gail are gone
#
@ -95,6 +97,7 @@ test_in_files = \
a11yderive.test.in \
a11ytext.test.in \
a11yutil.test.in \
a11ymisc.test.in \
$(NULL)
EXTRA_DIST += $(test_in_files) $(testdata)

View File

@ -0,0 +1,4 @@
[Test]
Exec=/bin/sh -c "env G_ENABLE_DIAGNOSTIC=0 @libexecdir@/installed-tests/gtk+/misc"
Type=session

59
testsuite/a11y/misc.c Normal file
View File

@ -0,0 +1,59 @@
/*
* Copyright (C) 2011 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 <gtk/gtk.h>
static void
test_popover_parent (void)
{
GtkWidget *w;
GtkWidget *p;
AtkObject *a;
g_test_bug ("733923");
w = gtk_entry_new ();
p = gtk_popover_new (NULL);
a = gtk_widget_get_accessible (p);
g_assert (a != NULL);
g_assert (atk_object_get_parent (a) == NULL);
gtk_popover_set_relative_to (GTK_POPOVER (p), w);
g_assert (atk_object_get_parent (a) != NULL);
gtk_widget_destroy (w);
gtk_widget_destroy (p);
}
int
main (int argc, char *argv[])
{
gtk_test_init (&argc, &argv, NULL);
g_test_bug_base ("http://bugzilla.gnome.org/");
g_test_add_func ("/popover/accessible-parent", test_popover_parent);
return g_test_run ();
}