diff options
author | Benjamin Otte <otte@redhat.com> | 2013-05-15 02:00:11 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2013-05-15 15:37:16 +0200 |
commit | 2c8e719b5a36de4998dca9a7a2f889ee054be690 (patch) | |
tree | 0f652988434a44ae1021657efd251e9abcce33b1 /tests | |
parent | bdfb55c9451e59e097a0e413402f2fa86bd2ae48 (diff) | |
download | gtk+-2c8e719b5a36de4998dca9a7a2f889ee054be690.tar.gz |
build: Move tests/a11y to testsuite/a11y
Diffstat (limited to 'tests')
77 files changed, 1 insertions, 9075 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index ff170b7535..d8c6faf0c8 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,7 @@ ## Makefile.am for gtk+/tests include $(top_srcdir)/Makefile.decl -SUBDIRS = css reftests a11y visuals +SUBDIRS = css reftests visuals AM_CPPFLAGS = \ -I$(top_srcdir) \ diff --git a/tests/a11y/Makefile.am b/tests/a11y/Makefile.am deleted file mode 100644 index 47b9a96b22..0000000000 --- a/tests/a11y/Makefile.am +++ /dev/null @@ -1,110 +0,0 @@ -include $(top_srcdir)/Makefile.decl -NULL = - -check_PROGRAMS = $(TEST_PROGS) - -AM_CPPFLAGS = \ - -I$(top_srcdir) \ - -I$(top_builddir)/gdk \ - -I$(top_srcdir)/gdk \ - -DGDK_DISABLE_DEPRECATED \ - -DGTK_DISABLE_DEPRECATED \ - -DGTK_VERSION=\"$(GTK_VERSION)\"\ - $(GTK_DEBUG_FLAGS) \ - $(GTK_DEP_CFLAGS) - -LDADD = \ - $(top_builddir)/gdk/libgdk-3.la \ - $(top_builddir)/gtk/libgtk-3.la \ - $(GTK_DEP_LIBS) - -# work around random file systems showing up in the file chooser, -# breaking the 'pickers' test -TESTS_ENVIRONMENT = GIO_USE_VOLUME_MONITOR=unix - -TEST_PROGS += accessibility-dump - -TEST_PROGS += tree-performance - -TEST_PROGS += text - -TEST_PROGS += children - -TEST_PROGS += derive - -TEST_PROGS += value - -# the focus test has no chance of working until -# all the idle handlers in gail are gone -# -# TEST_PROGS += focus - -TEST_PROGS += tree-relationships - -TEST_PROGS += util - -noinst_PROGS = testfocus - -testdata = \ - hello-world.ui hello-world.txt \ - mnemonic.ui mnemonic.txt \ - accessible-name.ui accessible-name.txt \ - notebook.ui notebook.txt \ - range.ui range.txt \ - link.ui link.txt \ - text.ui text.txt \ - buttons.ui buttons.txt \ - colorchooser.ui colorchooser.txt \ - about.ui about.txt \ - messagedialog.ui messagedialog.txt \ - expander.ui expander.txt \ - assistant.ui assistant.txt \ - pickers.ui pickers.txt \ - lockbutton.ui lockbutton.txt \ - spinner.ui spinner.txt \ - progress.ui progress.txt \ - infobar.ui infobar.txt \ - calendar.ui calendar.txt \ - statusbar.ui statusbar.txt \ - paned.ui paned.txt \ - iconview.ui iconview.txt \ - entries.ui entries.txt \ - scale-drawvalue.ui scale-drawvalue.txt \ - placeholder-text.ui placeholder-text.txt \ - menu.ui menu.txt \ - combos.ui combos.txt \ - $(NULL) - -if BUILDOPT_INSTALL_TESTS -insttestdir=$(pkglibexecdir)/installed-tests -insttest_PROGRAMS = $(TEST_PROGS) - -a11ytestdir = $(insttestdir)/a11ytests -a11ytest_DATA = $(testdata) - -substitutions = \ - -e s,@pkglibexecdir\@,$(pkglibexecdir),g \ - $(NULL) - -test_in_files = \ - a11ytests.test.in \ - a11ychildren.test.in \ - a11ytree.test.in \ - a11yvalue.test.in \ - a11yderive.test.in \ - a11ytext.test.in \ - a11yutil.test.in \ - $(NULL) - -test_files = $(test_in_files:.test.in=.test) - -$(test_files): %.test: %.test.in - $(AM_V_GEN) sed $(substitutions) $< > $@.tmp && mv $@.tmp $@ - -EXTRA_DIST += $(test_in_files) - -testmetadir = $(datadir)/installed-tests/$(PACKAGE) -testmeta_DATA = $(test_files) -endif - --include $(top_srcdir)/git.mk diff --git a/tests/a11y/README b/tests/a11y/README deleted file mode 100644 index 434b0d7d2d..0000000000 --- a/tests/a11y/README +++ /dev/null @@ -1,18 +0,0 @@ -accessibility-dump is a test runner that can do tests of static -accessibility information. Run it like this: - -./accessibility-dump [OPTIONS] TESTFILE [TESTFILES...] - -where TESTFILE is a GtkBuilder .ui file. accessibility-dump creates -a textual dump of the accessibility information for the created -widget hierarchy and compares it to a preexisting .txt file. - -To create an initial dump, you can use the --generate option with -a single .ui file. You should carefully inspect the output before -blessing it as the official .txt to compare against. - -To find out details about a failure, you can use the --verbose -option to see differences between expected and actual output. - -When run without any arguments, all the .ui files in the current -directory are tested. diff --git a/tests/a11y/a11ychildren.test.in b/tests/a11y/a11ychildren.test.in deleted file mode 100644 index 927cfe32b7..0000000000 --- a/tests/a11y/a11ychildren.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/children" -Type=session - diff --git a/tests/a11y/a11yderive.test.in b/tests/a11y/a11yderive.test.in deleted file mode 100644 index 665b2e901a..0000000000 --- a/tests/a11y/a11yderive.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/derive" -Type=session - diff --git a/tests/a11y/a11ytests.test.in b/tests/a11y/a11ytests.test.in deleted file mode 100644 index e794dcf7b5..0000000000 --- a/tests/a11y/a11ytests.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/accessibility-dump --directory @pkglibexecdir@/installed-tests/a11ytests" -Type=session - diff --git a/tests/a11y/a11ytext.test.in b/tests/a11y/a11ytext.test.in deleted file mode 100644 index c3435edb2a..0000000000 --- a/tests/a11y/a11ytext.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/text" -Type=session - diff --git a/tests/a11y/a11ytree.test.in b/tests/a11y/a11ytree.test.in deleted file mode 100644 index 390d1a5165..0000000000 --- a/tests/a11y/a11ytree.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/tree-relationships" -Type=session - diff --git a/tests/a11y/a11yutil.test.in b/tests/a11y/a11yutil.test.in deleted file mode 100644 index 9140b9fa1a..0000000000 --- a/tests/a11y/a11yutil.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/util" -Type=session - diff --git a/tests/a11y/a11yvalue.test.in b/tests/a11y/a11yvalue.test.in deleted file mode 100644 index ddc16e24a5..0000000000 --- a/tests/a11y/a11yvalue.test.in +++ /dev/null @@ -1,4 +0,0 @@ -[Test] -Exec=/bin/sh -c "@pkglibexecdir@/installed-tests/value" -Type=session - diff --git a/tests/a11y/about.txt b/tests/a11y/about.txt deleted file mode 100644 index d0fb340c9f..0000000000 --- a/tests/a11y/about.txt +++ /dev/null @@ -1,531 +0,0 @@ -window1 - "dialog" - index: 0 - name: About FancyPants - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - dialog-vbox1 - "filler" - parent: window1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - box - "filler" - parent: dialog-vbox1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - logo_image - "icon" - parent: box - index: 0 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - name_label - "label" - parent: box - index: 1 - name: FancyPants - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: FancyPants - character count: 10 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: center - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - notebook - "page tab list" - parent: box - index: 2 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkSelection> - selected children: unnamed-GtkNotebookPageAccessible-0 - unnamed-GtkNotebookPageAccessible-0 - "page tab" - parent: notebook - index: 0 - state: enabled selectable selected showing visible - <AtkComponent> - layer: widget - alpha: 1 - page_vbox - "filler" - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - version_label - "label" - parent: page_vbox - index: 0 - name: 0.99 - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 0.99 - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: center - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - comments_label - "label" - parent: page_vbox - index: 1 - name: comments - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: comments - character count: 8 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: center - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - hbox - "filler" - parent: page_vbox - index: 2 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - website_label - "label" - parent: hbox - index: 0 - name: Website - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Website - character count: 7 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - copyright_label - "label" - parent: page_vbox - index: 3 - name: no comments - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: no comments - character count: 11 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: center - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - license_label - "label" - parent: page_vbox - index: 4 - name: This program comes with ABSOLUTELY NO WARRANTY; -for details, visit http://www.gnu.org/licenses/gpl.html - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: This program comes with ABSOLUTELY NO WARRANTY; -for details, visit http://www.gnu.org/licenses/gpl.html - character count: 103 - caret offset: 67 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: center - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - unnamed-GtkNotebookPageAccessible-1 - "page tab" - parent: notebook - index: 1 - state: enabled selectable visible - <AtkComponent> - layer: widget - alpha: 1 - credits_page - "filler" - index: 0 - state: enabled sensitive vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - scrolledwindow1 - "scroll pane" - parent: credits_page - index: 0 - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - viewport1 - "viewport" - parent: scrolledwindow1 - index: 0 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - credits_grid - "panel" - parent: viewport1 - index: 0 - state: enabled sensitive vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkRangeAccessible-2 - "scroll bar" - parent: scrolledwindow1 - state: enabled horizontal sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 0.000000 - current value: 0.000000 - minimum increment: 39.800000 - unnamed-GtkRangeAccessible-3 - "scroll bar" - parent: scrolledwindow1 - state: enabled sensitive vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 0.000000 - current value: 0.000000 - minimum increment: 14.400000 - unnamed-GtkNotebookPageAccessible-4 - "page tab" - parent: notebook - index: 2 - state: enabled selectable visible - <AtkComponent> - layer: widget - alpha: 1 - license_page - "filler" - index: 0 - state: enabled sensitive vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - scrolledwindow2 - "scroll pane" - parent: license_page - index: 0 - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - license_view - "text" - parent: scrolledwindow2 - index: 0 - state: enabled focusable multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: false - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 8 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 8 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: none - <AtkStreamableContent> - mime types: application/x-gtk-text-buffer-rich-text text/plain - unnamed-GtkRangeAccessible-5 - "scroll bar" - parent: scrolledwindow2 - state: enabled horizontal sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 0.000000 - current value: 0.000000 - minimum increment: 39.800000 - unnamed-GtkRangeAccessible-6 - "scroll bar" - parent: scrolledwindow2 - state: enabled sensitive vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 0.000000 - current value: 0.000000 - minimum increment: 14.400000 - dialog-action_area1 - "filler" - parent: dialog-vbox1 - index: 1 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - close_button - "push button" - parent: dialog-action_area1 - index: 0 - name: Close - state: enabled focusable sensitive showing visible default - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>c - license_button - "toggle button" - parent: dialog-action_area1 - index: 1 - name: License - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>l - credits_button - "toggle button" - parent: dialog-action_area1 - index: 2 - name: Credits - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>r diff --git a/tests/a11y/about.ui b/tests/a11y/about.ui deleted file mode 100644 index baf99f360b..0000000000 --- a/tests/a11y/about.ui +++ /dev/null @@ -1,12 +0,0 @@ - -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAboutDialog" id="window1"> - <property name="program-name">FancyPants</property> - <property name="version">0.99</property> - <property name="copyright">no comments</property> - <property name="comments">comments</property> - <property name="license-type">gpl-3-0</property> - <property name="website">http://www.gtk.org</property> - </object> -</interface> diff --git a/tests/a11y/accessibile-name.txt b/tests/a11y/accessibile-name.txt deleted file mode 100644 index 27d90762b0..0000000000 --- a/tests/a11y/accessibile-name.txt +++ /dev/null @@ -1,44 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gail - button1 - "push button" - parent: window1 - index: 0 - name: Accessible name - state: enabled focusable sensitive showing visible - toolkit: gail - text: Hello World! - character count: 12 - caret offset: 0 - default attributes: left-margin: 0 - right-margin: 0 - indent: 0 - invisible: false - editable: false - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - bg-full-height: 0 - scale: 1 - rise: 0 - underline: none - strikethrough: false - bg-stipple: false - fg-stipple: false - fg-color: <omitted> - bg-color: <omitted> - wrap-mode: word - justification: left - size: <omitted> - weight: <omitted> - family-name: <omitted> - stretch: <omitted> - variant: <omitted> - style: <omitted> - language: <omitted> - direction: <omitted> - image size: -1 x -1 - image description: (null) diff --git a/tests/a11y/accessibility-dump.c b/tests/a11y/accessibility-dump.c deleted file mode 100644 index 62541a14fa..0000000000 --- a/tests/a11y/accessibility-dump.c +++ /dev/null @@ -1,901 +0,0 @@ -/* - * Copyright (C) 2011 Red Hat Inc. - * - * Author: - * Benjamin Otte <otte@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 "config.h" - -#include <string.h> -#include <glib/gstdio.h> -#include <gtk/gtk.h> - -#define DEPTH_INCREMENT 2 - -static char * -get_test_file (const char *test_file, - const char *extension, - gboolean must_exist) -{ - GString *file = g_string_new (NULL); - - if (g_str_has_suffix (test_file, ".ui")) - g_string_append_len (file, test_file, strlen (test_file) - strlen (".ui")); - else - g_string_append (file, test_file); - - g_string_append (file, extension); - - if (must_exist && - !g_file_test (file->str, G_FILE_TEST_EXISTS)) - { - g_string_free (file, TRUE); - return NULL; - } - - return g_string_free (file, FALSE); -} - -static char * -diff_with_file (const char *file1, - char *text, - gssize len, - GError **error) -{ - const char *command[] = { "diff", "-u", file1, NULL, NULL }; - char *diff, *tmpfile; - int fd; - - diff = NULL; - - if (len < 0) - len = strlen (text); - - /* write the text buffer to a temporary file */ - fd = g_file_open_tmp (NULL, &tmpfile, error); - if (fd < 0) - return NULL; - - if (write (fd, text, len) != (int) len) - { - close (fd); - g_set_error (error, - G_FILE_ERROR, G_FILE_ERROR_FAILED, - "Could not write data to temporary file '%s'", tmpfile); - goto done; - } - close (fd); - command[3] = tmpfile; - - /* run diff command */ - g_spawn_sync (NULL, - (char **) command, - NULL, - G_SPAWN_SEARCH_PATH, - NULL, NULL, - &diff, - NULL, NULL, - error); - -done: - g_unlink (tmpfile); - g_free (tmpfile); - - return diff; -} - -static int unnamed_object_count; - -static void -setup_test (void) -{ - unnamed_object_count = 0; -} - -static const char * -get_name (AtkObject *accessible) -{ - char *name; - - name = g_object_get_data (G_OBJECT (accessible), "gtk-accessibility-dump-name"); - if (name) - return name; - - if (GTK_IS_ACCESSIBLE (accessible)) - { - GtkWidget *widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); - - name = g_strdup (gtk_buildable_get_name (GTK_BUILDABLE (widget))); - } - - if (name == NULL && ATK_IS_TEXT (accessible)) - { - name = atk_text_get_text (ATK_TEXT (accessible), 0, -1); - } - - if (name == NULL) - { - /* Generate a unique, repeatable name */ - name = g_strdup_printf ("unnamed-%s-%d", G_OBJECT_TYPE_NAME (accessible), unnamed_object_count++); - } - - g_object_set_data_full (G_OBJECT (accessible), "gtk-accessibility-dump-name", name, g_free); - return name; -} - -static void -dump_relation (GString *string, - guint depth, - AtkRelation *relation) -{ - GPtrArray *targets; - const char *name; - guint i; - - targets = atk_relation_get_target (relation); - if (targets == NULL || targets->len == 0) - return; - - name = atk_relation_type_get_name (atk_relation_get_relation_type (relation)); - g_string_append_printf (string, "%*s%s: %s\n", depth, "", name, get_name (g_ptr_array_index (targets, 0))); - depth += strlen (name) + 2; - - for (i = 1; i < targets->len; i++) - { - g_string_append_printf (string, "%*s%s\n", depth, "", get_name (g_ptr_array_index (targets, i))); - } -} - -static void -dump_relation_set (GString *string, - guint depth, - AtkRelationSet *set) -{ - guint i; - - if (set == NULL) - return; - - for (i = 0; i < atk_relation_set_get_n_relations (set); i++) - { - AtkRelation *relation; - - relation = atk_relation_set_get_relation (set, i); - - dump_relation (string, depth, relation); - } - - g_object_unref (set); -} - -static void -dump_state_set (GString *string, - guint depth, - AtkStateSet *set) -{ - guint i; - - if (set == NULL) - return; - - if (!atk_state_set_is_empty (set)) - { - g_string_append_printf (string, "%*sstate:", depth, ""); - for (i = 0; i < ATK_STATE_LAST_DEFINED; i++) - { - if (atk_state_set_contains_state (set, i)) - g_string_append_printf (string, " %s", atk_state_type_get_name (i)); - } - g_string_append_c (string, '\n'); - } - - g_object_unref (set); -} - -static void -dump_attribute (GString *string, - guint depth, - AtkAttribute *attribute) -{ - g_string_append_printf (string, "%*s%s: %s\n", depth, "", attribute->name, attribute->value); -} - -static void -dump_attribute_set (GString *string, - guint depth, - AtkAttributeSet *set) -{ - GSList *l; - AtkAttribute *attribute; - - for (l = set; l; l = l->next) - { - attribute = l->data; - - dump_attribute (string, depth, attribute); - } -} - -static gint -compare_attr (gconstpointer a, gconstpointer b) -{ - const AtkAttribute *aattr = a; - const AtkAttribute *battr = b; - - return strcmp (aattr->name, battr->name); -} - -static void -dump_text_attributes (GString *string, - gint depth, - const gchar *name, - AtkAttributeSet *attributes) -{ - GSList *l; - AtkAttribute *attr; - const gchar *value; - - if (attributes == NULL) - return; - - attributes = g_slist_sort (attributes, compare_attr); - - for (l = attributes; l; l = l->next) - { - attr = l->data; - /* don't dump values that depend on the environment */ - if (strcmp (attr->name, "family-name") == 0 || - strcmp (attr->name, "size") == 0 || - strcmp (attr->name, "weight") == 0 || - strcmp (attr->name, "stretch") == 0 || - strcmp (attr->name, "variant") == 0 || - strcmp (attr->name, "style") == 0 || - strcmp (attr->name, "language") == 0 || - strcmp (attr->name, "fg-color") == 0 || - strcmp (attr->name, "bg-color") == 0 || - strcmp (attr->name, "direction") == 0) - value = "<omitted>"; - else - value = attr->value; - - if (name) - { - /* first time this loop is run */ - g_string_append_printf (string, "%*s%s: %s: %s\n", depth, "", name, attr->name, value); - depth += strlen (name) + 2; - name = NULL; - } - else - { - /* every other time */ - g_string_append_printf (string, "%*s%s: %s\n", depth, "", attr->name, value); - } - } - - atk_attribute_set_free (attributes); -} - -extern GType atk_layer_get_type (void); - -static const gchar * -layer_name (AtkLayer layer) -{ - GEnumClass *class; - GEnumValue *value; - - class = g_type_class_ref (atk_layer_get_type ()); - value = g_enum_get_value (class, layer); - g_type_class_unref (class); - - return value->value_nick; -} - -static void -dump_atk_component (AtkComponent *atk_component, - guint depth, - GString *string) -{ - AtkLayer layer; - - g_string_append_printf (string, "%*s<AtkComponent>\n", depth, ""); - - layer = atk_component_get_layer (atk_component); - g_string_append_printf (string, "%*slayer: %s\n", depth, "", layer_name (layer)); - - g_string_append_printf (string, "%*salpha: %g\n", depth, "", atk_component_get_alpha (atk_component)); -} - -static void -dump_atk_text (AtkText *atk_text, - guint depth, - GString *string) -{ - gchar *text; - gint i, start, end; - - g_string_append_printf (string, "%*s<AtkText>\n", depth, ""); - - text = atk_text_get_text (atk_text, 0, -1); - g_string_append_printf (string, "%*stext: %s\n", depth, "", text); - g_free (text); - - g_string_append_printf (string, "%*scharacter count: %d\n", depth, "", atk_text_get_character_count (atk_text)); - - g_string_append_printf (string, "%*scaret offset: %d\n", depth, "", atk_text_get_caret_offset (atk_text)); - - for (i = 0; i < atk_text_get_n_selections (atk_text); i++) - { - text = atk_text_get_selection (atk_text, i, &start, &end); - if (text) - g_string_append_printf (string, "%*sselection %d: (%d, %d) %s\n", depth, "", i, start, end, text); - g_free (text); - } - - dump_text_attributes (string, depth, "default attributes", atk_text_get_default_attributes (atk_text)); -} - -static void -dump_atk_image (AtkImage *atk_image, - guint depth, - GString *string) -{ - gint width, height; - - g_string_append_printf (string, "%*s<AtkImage>\n", depth, ""); - - atk_image_get_image_size (atk_image, &width, &height); - g_string_append_printf (string, "%*simage size: %d x %d\n", depth, "", width, height); - - g_string_append_printf (string, "%*simage description: %s\n", depth, "", atk_image_get_image_description (atk_image)); -} - -static void -dump_atk_action (AtkAction *atk_action, - guint depth, - GString *string) -{ - gint i; - - g_string_append_printf (string, "%*s<AtkAction>\n", depth, ""); - - for (i = 0; i < atk_action_get_n_actions (atk_action); i++) - { - if (atk_action_get_name (atk_action, i)) - g_string_append_printf (string, "%*saction %d name: %s\n", depth, "", i, atk_action_get_name (atk_action, i)); - if (atk_action_get_description (atk_action, i)) - g_string_append_printf (string, "%*saction %d description: %s\n", depth, "", i, atk_action_get_description (atk_action, i)); - if (atk_action_get_keybinding (atk_action, i)) - g_string_append_printf (string, "%*saction %d keybinding: %s\n", depth, "", i, atk_action_get_keybinding (atk_action, i)); - } -} - -static void -dump_atk_selection (AtkSelection *atk_selection, - guint depth, - GString *string) -{ - guint n_selections, n_counted_selections; - gint i; - - g_string_append_printf (string, "%*s<AtkSelection>\n", depth, ""); - - n_selections = atk_selection_get_selection_count (atk_selection); - - n_counted_selections = 0; - for (i = 0; i < atk_object_get_n_accessible_children (ATK_OBJECT (atk_selection)); i++) - { - if (atk_selection_is_child_selected (atk_selection, i)) - { - AtkObject *object = atk_object_ref_accessible_child (ATK_OBJECT (atk_selection), i); - - g_assert (object); - - if (n_counted_selections == 0) - { - g_string_append_printf (string, "%*sselected children: %s\n", depth, "", get_name (object)); - depth += strlen ("selected children: "); - } - else - g_string_append_printf (string, "%*s%s\n", depth, "", get_name (object)); - n_counted_selections++; - } - } - - g_assert_cmpint (n_selections, ==, n_counted_selections); - g_assert_cmpint (n_selections, ==, atk_selection_get_selection_count (atk_selection)); -} - -static void -dump_atk_value (AtkValue *atk_value, - guint depth, - GString *string) -{ - GValue value = G_VALUE_INIT; - GValue svalue = G_VALUE_INIT; - - g_string_append_printf (string, "%*s<AtkValue>\n", depth, ""); - - g_value_init (&value, G_TYPE_DOUBLE); - g_value_init (&svalue, G_TYPE_STRING); - - atk_value_get_minimum_value (atk_value, &value); - if (g_value_transform (&value, &svalue)) - g_string_append_printf (string, "%*sminimum value: %s\n", depth, "", g_value_get_string (&svalue)); - else - g_string_append_printf (string, "%*sminimum value: <%s>\n", depth, "", G_VALUE_TYPE_NAME (&value)); - - g_value_reset (&value); - g_value_reset (&svalue); - - atk_value_get_maximum_value (atk_value, &value); - if (g_value_transform (&value, &svalue)) - g_string_append_printf (string, "%*smaximum value: %s\n", depth, "", g_value_get_string (&svalue)); - else - g_string_append_printf (string, "%*smaximum value: <%s>\n", depth, "", G_VALUE_TYPE_NAME (&value)); - - g_value_reset (&value); - g_value_reset (&svalue); - - atk_value_get_current_value (atk_value, &value); - if (g_value_transform (&value, &svalue)) - g_string_append_printf (string, "%*scurrent value: %s\n", depth, "", g_value_get_string (&svalue)); - else - g_string_append_printf (string, "%*scurrent value: %s\n", depth, "", G_VALUE_TYPE_NAME (&value)); - - g_value_reset (&value); - g_value_reset (&svalue); - - atk_value_get_minimum_increment (atk_value, &value); - if (g_value_transform (&value, &svalue)) - g_string_append_printf (string, "%*sminimum increment: %s\n", depth, "", g_value_get_string (&svalue)); - else - g_string_append_printf (string, "%*sminimum increment: %s\n", depth, "", G_VALUE_TYPE_NAME (&value)); - - g_value_reset (&value); - g_value_reset (&svalue); -} - -static void -dump_atk_hyperlink_impl (AtkHyperlinkImpl *impl, - guint depth, - GString *string) -{ - AtkHyperlink *atk_link; - gint i; - - g_string_append_printf (string, "%*s<AtkHyperlinkImpl>\n", depth, ""); - - atk_link = atk_hyperlink_impl_get_hyperlink (impl); - - g_string_append_printf (string, "%*sanchors:", depth, ""); - - for (i = 0; i < atk_hyperlink_get_n_anchors (atk_link); i++) - { - gchar *uri; - - uri = atk_hyperlink_get_uri (atk_link, i); - g_string_append_printf (string, " %s", uri); - g_free (uri); - } - g_string_append_c (string, '\n'); - - g_object_unref (atk_link); -} - -static void -dump_atk_streamable_content (AtkStreamableContent *content, - guint depth, - GString *string) -{ - gint i; - - g_string_append_printf (string, "%*s<AtkStreamableContent>\n", depth, ""); - - g_string_append_printf (string, "%*smime types:", depth, ""); - for (i = 0; i < atk_streamable_content_get_n_mime_types (content); i++) - g_string_append_printf (string, " %s", atk_streamable_content_get_mime_type (content, i)); - g_string_append_c (string, '\n'); -} - -static void -dump_atk_table (AtkTable *table, - guint depth, - GString *string) -{ - gint *selected; - gint n_selected; - gint i, j; - AtkObject *obj; - const gchar *desc; - - g_string_append_printf (string, "%*s<AtkTable>\n", depth, ""); - - obj = atk_table_get_summary (table); - if (obj) - g_string_append_printf (string, "%*ssummary: %s\n", depth, "", get_name (obj)); - - obj = atk_table_get_caption (table); - if (obj) - g_string_append_printf (string, "%*scaption: %s\n", depth, "", get_name (obj)); - - g_string_append_printf (string, "%*srows: %d\n", depth, "", atk_table_get_n_rows (table)); - g_string_append_printf (string, "%*scolumns: %d\n", depth, "", atk_table_get_n_columns (table)); - - selected = NULL; - n_selected = atk_table_get_selected_rows (table, &selected); - if (n_selected > 0) - { - g_string_append_printf (string, "%*sselected rows:", depth, ""); - for (i = 0; i < n_selected; i++) - g_string_append_printf (string, " %d", selected[i]); - g_string_append_c (string, '\n'); - } - g_free (selected); - - selected = NULL; - n_selected = atk_table_get_selected_columns (table, &selected); - if (n_selected > 0) - { - g_string_append_printf (string, "%*sselected columns:", depth, ""); - for (i = 0; i < n_selected; i++) - g_string_append_printf (string, " %d", selected[i]); - g_string_append_c (string, '\n'); - } - g_free (selected); - - - for (i = 0; i < atk_table_get_n_columns (table); i++) - { - desc = atk_table_get_column_description (table, i); - if (desc) - g_string_append_printf (string, "%*scolumn %d description: %s\n", depth, "", i, desc); - obj = atk_table_get_column_header (table, i); - if (obj) - g_string_append_printf (string, "%*scolumn %d header: %s\n", depth, "", i, get_name (obj)); - } - - for (i = 0; i < atk_table_get_n_rows (table); i++) - { - desc = atk_table_get_row_description (table, i); - if (desc) - g_string_append_printf (string, "%*srow %d description: %s\n", depth, "", i, desc); - obj = atk_table_get_row_header (table, i); - if (obj) - g_string_append_printf (string, "%*srow %d header: %s\n", depth, "", i, get_name (obj)); - } - - g_string_append_printf (string, "%*stable indexes:\n", depth, ""); - for (i = 0; i < atk_table_get_n_rows (table); i++) - { - g_string_append_printf (string, "%*s", depth + DEPTH_INCREMENT, ""); - for (j = 0; j < atk_table_get_n_columns (table); j++) - { - int id = atk_table_get_index_at (table, i, j); - - obj = atk_object_ref_accessible_child (ATK_OBJECT (table), id); - if (j > 0) - g_string_append (string, " "); - - g_string_append_printf (string, "%s%s%s", - atk_table_get_row_at_index (table, id) == i ? "✓" : "⚠", - atk_table_get_column_at_index (table, id) == j ? "✓" : "⚠", - get_name (obj)); - } - g_string_append (string, "\n"); - } -} - -static void -dump_accessible (AtkObject *accessible, - guint depth, - GString *string) -{ - guint i; - - g_string_append_printf (string, "%*s%s\n", depth, "", get_name (accessible)); - depth += DEPTH_INCREMENT; - - g_string_append_printf (string, "%*s\"%s\"\n", depth, "", atk_role_get_name (atk_object_get_role (accessible))); - if (GTK_IS_ACCESSIBLE (atk_object_get_parent (accessible))) - g_string_append_printf (string, "%*sparent: %s\n", depth, "", get_name (atk_object_get_parent (accessible))); - if (atk_object_get_index_in_parent (accessible) != -1) - g_string_append_printf (string, "%*sindex: %d\n", depth, "", atk_object_get_index_in_parent (accessible)); - if (atk_object_get_name (accessible)) - g_string_append_printf (string, "%*sname: %s\n", depth, "", atk_object_get_name (accessible)); - if (atk_object_get_description (accessible)) - g_string_append_printf (string, "%*sdescription: %s\n", depth, "", atk_object_get_description (accessible)); - dump_relation_set (string, depth, atk_object_ref_relation_set (accessible)); - dump_state_set (string, depth, atk_object_ref_state_set (accessible)); - dump_attribute_set (string, depth, atk_object_get_attributes (accessible)); - - if (ATK_IS_COMPONENT (accessible)) - dump_atk_component (ATK_COMPONENT (accessible), depth, string); - - if (ATK_IS_TEXT (accessible)) - dump_atk_text (ATK_TEXT (accessible), depth, string); - - if (ATK_IS_IMAGE (accessible)) - dump_atk_image (ATK_IMAGE (accessible), depth, string); - - if (ATK_IS_ACTION (accessible)) - dump_atk_action (ATK_ACTION (accessible), depth, string); - - if (ATK_IS_SELECTION (accessible)) - dump_atk_selection (ATK_SELECTION (accessible), depth, string); - - if (ATK_IS_VALUE (accessible)) - dump_atk_value (ATK_VALUE (accessible), depth, string); - - if (ATK_IS_HYPERLINK_IMPL (accessible)) - dump_atk_hyperlink_impl (ATK_HYPERLINK_IMPL (accessible), depth, string); - - if (ATK_IS_STREAMABLE_CONTENT (accessible)) - dump_atk_streamable_content (ATK_STREAMABLE_CONTENT (accessible), depth, string); - - if (ATK_IS_TABLE (accessible)) - dump_atk_table (ATK_TABLE (accessible), depth, string); - - for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++) - { - AtkObject *child = atk_object_ref_accessible_child (accessible, i); - dump_accessible (child, depth, string); - g_object_unref (child); - } -} - -static GtkWidget * -builder_get_toplevel (GtkBuilder *builder) -{ - GSList *list, *walk; - GtkWidget *window = NULL; - - list = gtk_builder_get_objects (builder); - for (walk = list; walk; walk = walk->next) - { - if (GTK_IS_WINDOW (walk->data) && - gtk_widget_get_parent (walk->data) == NULL) - { - window = walk->data; - break; - } - } - - g_slist_free (list); - - return window; -} - -static void -dump_ui_file (const char *ui_file, - GString *string) -{ - GtkWidget *window; - GtkBuilder *builder; - GError *error = NULL; - - builder = gtk_builder_new (); - gtk_builder_add_from_file (builder, ui_file, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_object_unref (builder); - g_assert (window); - - gtk_widget_show (window); - - dump_accessible (gtk_widget_get_accessible (window), 0, string); - gtk_widget_destroy (window); -} - -static void -dump_to_stdout (GFile *file) -{ - char *ui_file; - GString *dump; - - ui_file = g_file_get_path (file); - dump = g_string_new (""); - - dump_ui_file (ui_file, dump); - g_print ("%s", dump->str); - - g_string_free (dump, TRUE); - g_free (ui_file); -} - -static void -test_ui_file (GFile *file) -{ - char *ui_file, *a11y_file; - GString *dump; - GError *error = NULL; - - ui_file = g_file_get_path (file); - a11y_file = get_test_file (ui_file, ".txt", TRUE); - dump = g_string_new (""); - - dump_ui_file (ui_file, dump); - - if (a11y_file) - { - char *diff = diff_with_file (a11y_file, dump->str, dump->len, &error); - g_assert_no_error (error); - - if (diff && diff[0]) - { - g_test_message ("Contents don't match expected contents:\n%s", diff); - g_test_fail (); - g_free (diff); - } - } - else if (dump->str[0]) - { - g_test_message ("Expected a reference file:\n%s", dump->str); - g_test_fail (); - } - - g_string_free (dump, TRUE); - g_free (a11y_file); - g_free (ui_file); -} - -static void -add_test_for_file (GFile *file) -{ - g_test_add_vtable (g_file_get_path (file), - 0, - g_object_ref (file), - (GTestFixtureFunc) setup_test, - (GTestFixtureFunc) test_ui_file, - (GTestFixtureFunc) g_object_unref); -} - -static int -compare_files (gconstpointer a, gconstpointer b) -{ - GFile *file1 = G_FILE (a); - GFile *file2 = G_FILE (b); - char *path1, *path2; - int result; - - path1 = g_file_get_path (file1); - path2 = g_file_get_path (file2); - - result = strcmp (path1, path2); - - g_free (path1); - g_free (path2); - - return result; -} - -static void -add_tests_for_files_in_directory (GFile *dir) -{ - GFileEnumerator *enumerator; - GFileInfo *info; - GList *files; - GError *error = NULL; - - enumerator = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, NULL, &error); - g_assert_no_error (error); - files = NULL; - - while ((info = g_file_enumerator_next_file (enumerator, NULL, &error))) - { - const char *filename; - - filename = g_file_info_get_name (info); - - if (!g_str_has_suffix (filename, ".ui")) - { - g_object_unref (info); - continue; - } - - files = g_list_prepend (files, g_file_get_child (dir, filename)); - - g_object_unref (info); - } - - g_assert_no_error (error); - g_object_unref (enumerator); - - files = g_list_sort (files, compare_files); - g_list_foreach (files, (GFunc) add_test_for_file, NULL); - g_list_free_full (files, g_object_unref); -} - -static char *arg_base_dir = NULL; - -static const GOptionEntry test_args[] = { - { "directory", 'd', 0, G_OPTION_ARG_FILENAME, &arg_base_dir, - "Directory to run tests from", "DIR" }, - { NULL } -}; - -static gboolean -parse_command_line (int *argc, char ***argv) -{ - GError *error = NULL; - GOptionContext *context; - - context = g_option_context_new ("- run GTK accessibility tests"); - g_option_context_add_main_entries (context, test_args, NULL); - g_option_context_set_ignore_unknown_options (context, TRUE); - - if (!g_option_context_parse (context, argc, argv, &error)) - { - g_print ("option parsing failed: %s\n", error->message); - return FALSE; - } - - gtk_test_init (argc, argv); - - return TRUE; -} - -int -main (int argc, char **argv) -{ - if (!parse_command_line (&argc, &argv)) - return 1; - - if (argc < 2) - { - const char *basedir; - GFile *dir; - - if (arg_base_dir) - basedir = arg_base_dir; - else if (g_getenv ("srcdir")) - basedir = g_getenv ("srcdir"); - else - basedir = "."; - - dir = g_file_new_for_path (basedir); - - add_tests_for_files_in_directory (dir); - - g_object_unref (dir); - } - else if (argc == 3 && strcmp (argv[1], "--generate") == 0) - { - GFile *file = g_file_new_for_commandline_arg (argv[2]); - - dump_to_stdout (file); - - g_object_unref (file); - - return 0; - } - else - { - guint i; - - for (i = 1; i < argc; i++) - { - GFile *file = g_file_new_for_commandline_arg (argv[i]); - - add_test_for_file (file); - - g_object_unref (file); - } - } - - return g_test_run (); -} - diff --git a/tests/a11y/accessible-name.txt b/tests/a11y/accessible-name.txt deleted file mode 100644 index 0fbd0aa3e0..0000000000 --- a/tests/a11y/accessible-name.txt +++ /dev/null @@ -1,24 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - button1 - "push button" - parent: window1 - index: 0 - name: Accessible name - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button diff --git a/tests/a11y/accessible-name.ui b/tests/a11y/accessible-name.ui deleted file mode 100644 index 8fc76d0bf9..0000000000 --- a/tests/a11y/accessible-name.ui +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkButton" id="button1"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="button1-accessible"> - <property name="accessible-name" translatable="yes">Accessible name</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/assistant.txt b/tests/a11y/assistant.txt deleted file mode 100644 index 13df1efa03..0000000000 --- a/tests/a11y/assistant.txt +++ /dev/null @@ -1,149 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - button1 - "push button" - index: 0 - name: Page 1 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button2 - "push button" - index: 0 - name: Page 2 - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action_area - "filler" - parent: content_box - index: 1 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - close - "push button" - parent: action_area - index: 0 - name: Close - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>c - cancel - "push button" - parent: action_area - index: 1 - name: Cancel - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>c - last - "push button" - parent: action_area - index: 2 - name: Finish - state: focusable - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>f - back - "push button" - parent: action_area - index: 3 - name: Go Back - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>b - forward - "push button" - parent: action_area - index: 4 - name: Continue - state: focusable showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>o - apply - "push button" - parent: action_area - index: 5 - name: Apply - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>a diff --git a/tests/a11y/assistant.ui b/tests/a11y/assistant.ui deleted file mode 100644 index aed2044489..0000000000 --- a/tests/a11y/assistant.ui +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAssistant" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkButton" id="button1"> - <property name="label" translatable="yes">Button 1</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="title" translatable="yes">Page 1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="button2"> - <property name="label" translatable="yes">Button 2</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="title" translatable="yes">Page 2</property> - </packing> - </child> - </object> -</interface> diff --git a/tests/a11y/buttons.txt b/tests/a11y/buttons.txt deleted file mode 100644 index 6b1fd88aca..0000000000 --- a/tests/a11y/buttons.txt +++ /dev/null @@ -1,113 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - grid1 - "panel" - parent: window1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - button6 - "toggle button" - parent: grid1 - index: 0 - name: Test switch - description: Switches between on and off states - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: toggle - action 0 description: Toggles the switch - button5 - "toggle button" - parent: grid1 - index: 1 - name: Switch - description: Switches between on and off states - state: checked enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: toggle - action 0 description: Toggles the switch - button4 - "radio button" - parent: grid1 - index: 2 - name: Hello World! - member-of: button4 - button3 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button3 - "radio button" - parent: grid1 - index: 3 - name: Hello World! - member-of: button4 - button3 - state: armed checked enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button2 - "check box" - parent: grid1 - index: 4 - name: Hello World! - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button1 - "toggle button" - parent: grid1 - index: 5 - name: Hello World! - state: armed checked enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button diff --git a/tests/a11y/buttons.ui b/tests/a11y/buttons.ui deleted file mode 100644 index b229bbb4a7..0000000000 --- a/tests/a11y/buttons.ui +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkGrid" id="grid1"> - <property name="visible">True</property> - <child> - <object class="GtkToggleButton" id="button1"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="active">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="button2"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="active">False</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="button3"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="active">False</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="button4"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="active">True</property> - <property name="group">button3</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - </object> - <packing> - <property name="left_attach">3</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkSwitch" id="button5"> - <property name="visible">True</property> - <property name="active">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - </object> - <packing> - <property name="left_attach">4</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkSwitch" id="button6"> - <property name="visible">True</property> - <property name="active">False</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="button6-accessible"> - <property name="accessible-name">Test switch</property> - </object> - </child> - </object> - <packing> - <property name="left_attach">5</property> - <property name="top_attach">0</property> - </packing> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/calendar.txt b/tests/a11y/calendar.txt deleted file mode 100644 index 06985b9f03..0000000000 --- a/tests/a11y/calendar.txt +++ /dev/null @@ -1,17 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - calendar1 - "calendar" - parent: window1 - index: 0 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 diff --git a/tests/a11y/calendar.ui b/tests/a11y/calendar.ui deleted file mode 100644 index f4562c4339..0000000000 --- a/tests/a11y/calendar.ui +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkCalendar" id="calendar1"> - <property name="visible">True</property> - <property name="day">1</property> - <property name="month">2</property> - <property name="year">1970</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/children.c b/tests/a11y/children.c deleted file mode 100644 index a2d847ef71..0000000000 --- a/tests/a11y/children.c +++ /dev/null @@ -1,269 +0,0 @@ -/* - * 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/>. - */ - -#define GDK_DISABLE_DEPRECATION_WARNINGS -#undef GTK_DISABLE_DEPRECATED - -#include <gtk/gtk.h> -#include <string.h> - -typedef struct -{ - GtkWidget *widget; - gpointer child[3]; -} STATE; - -static void -test_scrolled_window_child_count (void) -{ - GtkWidget *sw; - AtkObject *accessible; - - sw = gtk_scrolled_window_new (NULL, NULL); - g_object_ref_sink (sw); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS); - gtk_container_add (GTK_CONTAINER (sw), gtk_label_new ("Bla")); - - accessible = gtk_widget_get_accessible (sw); - g_assert_cmpint (atk_object_get_n_accessible_children (accessible), ==, 3); - - g_object_unref (sw); -} - -typedef struct { - gint count; - gint index; - gint n_children; - gpointer parent; -} SignalData; - -static void -children_changed (AtkObject *accessible, - guint index, - gpointer child, - SignalData *data) -{ - data->count++; - data->index = index; - data->n_children = atk_object_get_n_accessible_children (accessible); -} - -static void -remove_child (STATE *state, - gint i) -{ - GtkWidget *child; - - if (GTK_IS_ENTRY (state->widget)) - { - switch (i) - { - case 0: - gtk_entry_set_icon_from_gicon (GTK_ENTRY (state->widget), - GTK_ENTRY_ICON_PRIMARY, - NULL); - return; - case 1: - gtk_entry_set_icon_from_gicon (GTK_ENTRY (state->widget), - GTK_ENTRY_ICON_SECONDARY, - NULL); - return; - default: - return; - } - } - - child = state->child [i]; - if (GTK_IS_SCROLLED_WINDOW (state->widget)) - { - if (gtk_widget_get_parent (child) != state->widget) - child = gtk_widget_get_parent (child); - } - - gtk_container_remove (GTK_CONTAINER (state->widget), child); -} - -static void -parent_notify (AtkObject *obj, GParamSpec *pspec, SignalData *data) -{ - data->count++; - data->parent = atk_object_get_parent (obj); -} - -gboolean -do_create_child (STATE *state, gint i) -{ - if (GTK_IS_ENTRY (state->widget)) - { - switch (i) - { - case 0: - gtk_entry_set_icon_from_stock (GTK_ENTRY (state->widget), - GTK_ENTRY_ICON_PRIMARY, - GTK_STOCK_CAPS_LOCK_WARNING); - return TRUE; - case 1: - gtk_entry_set_icon_from_stock (GTK_ENTRY (state->widget), - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_CLEAR); - return TRUE; - default: - return FALSE; - } - } - else if (gtk_container_child_type (GTK_CONTAINER (state->widget)) == G_TYPE_NONE) - return FALSE; - - state->child[i] = gtk_label_new ("bla"); - return TRUE; -} - -static void -test_add_remove (GtkWidget *widget) -{ - AtkObject *accessible; - AtkObject *child_accessible; - SignalData add_data; - SignalData remove_data; - SignalData parent_data[3]; - STATE state; - gint i, j; - gint step_children; - - state.widget = widget; - accessible = gtk_widget_get_accessible (widget); - - add_data.count = 0; - remove_data.count = 0; - g_signal_connect (accessible, "children_changed::add", - G_CALLBACK (children_changed), &add_data); - g_signal_connect (accessible, "children_changed::remove", - G_CALLBACK (children_changed), &remove_data); - - step_children = atk_object_get_n_accessible_children (accessible); - - for (i = 0; i < 3; i++) - { - if (!do_create_child (&state, i)) - break; - if (!GTK_IS_ENTRY (widget)) - { - parent_data[i].count = 0; - child_accessible = gtk_widget_get_accessible (state.child[i]); - g_signal_connect (child_accessible, "notify::accessible-parent", - G_CALLBACK (parent_notify), &(parent_data[i])); - gtk_container_add (GTK_CONTAINER (widget), state.child[i]); - } - else - child_accessible = atk_object_ref_accessible_child (accessible, i); - - g_assert_cmpint (add_data.count, ==, i + 1); - g_assert_cmpint (add_data.n_children, ==, step_children + i + 1); - g_assert_cmpint (remove_data.count, ==, 0); - if (!GTK_IS_ENTRY (widget)) - g_assert_cmpint (parent_data[i].count, ==, 1); - if (GTK_IS_SCROLLED_WINDOW (widget) || - GTK_IS_NOTEBOOK (widget)) - g_assert (atk_object_get_parent (ATK_OBJECT (parent_data[i].parent)) == accessible); - else if (GTK_IS_ENTRY (widget)) - g_assert (atk_object_get_parent (child_accessible) == accessible); - else - g_assert (parent_data[i].parent == accessible); - - if (GTK_IS_ENTRY (widget)) - g_object_unref (child_accessible); - } - for (j = 0 ; j < i; j++) - { - remove_child (&state, j); - g_assert_cmpint (add_data.count, ==, i); - g_assert_cmpint (remove_data.count, ==, j + 1); - g_assert_cmpint (remove_data.n_children, ==, step_children + i - j - 1); - if (parent_data[j].count == 2) - g_assert (parent_data[j].parent == NULL); - else if (!GTK_IS_ENTRY (widget)) - { - AtkStateSet *set; - set = atk_object_ref_state_set (ATK_OBJECT (parent_data[j].parent)); - g_assert (atk_state_set_contains_state (set, ATK_STATE_DEFUNCT)); - g_object_unref (set); - } - } - - g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &add_data); - g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &remove_data); -} - -static void -add_child_test (const gchar *prefix, - GTestFixtureFunc test_func, - GtkWidget *widget) -{ - gchar *path; - - path = g_strdup_printf ("%s/%s", prefix, G_OBJECT_TYPE_NAME (widget)); - g_test_add_vtable (path, - 0, - g_object_ref (widget), - 0, - (GTestFixtureFunc) test_func, - (GTestFixtureFunc) g_object_unref); - g_free (path); -} - -static void -add_child_tests (GtkWidget *widget) -{ - g_object_ref_sink (widget); - add_child_test ("/child/add-remove", (GTestFixtureFunc)test_add_remove, widget); - g_object_unref (widget); -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_add_func ("/scrolledwindow/child-count", test_scrolled_window_child_count); - - add_child_tests (gtk_scrolled_window_new (NULL, NULL)); - add_child_tests (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0)); - add_child_tests (gtk_paned_new (GTK_ORIENTATION_HORIZONTAL)); - add_child_tests (gtk_grid_new ()); - add_child_tests (gtk_event_box_new ()); - add_child_tests (gtk_window_new (GTK_WINDOW_TOPLEVEL)); - add_child_tests (gtk_assistant_new ()); - add_child_tests (gtk_frame_new ("frame")); - add_child_tests (gtk_expander_new ("expander")); - add_child_tests (gtk_table_new (2, 2, FALSE)); - add_child_tests (gtk_text_view_new ()); - add_child_tests (gtk_tree_view_new ()); -#if 0 - /* gail doesn't handle non-label children in these */ - add_child_tests (gtk_button_new ()); - add_child_tests (gtk_statusbar_new ()); -#endif - add_child_tests (gtk_notebook_new ()); - add_child_tests (gtk_entry_new ()); - - return g_test_run (); -} - diff --git a/tests/a11y/colorchooser.txt b/tests/a11y/colorchooser.txt deleted file mode 100644 index 1db200d748..0000000000 --- a/tests/a11y/colorchooser.txt +++ /dev/null @@ -1,1373 +0,0 @@ -window1 - "color chooser" - index: 0 - name: Color Selection - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - vbox - "filler" - parent: window1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-0 - "color chooser" - parent: vbox - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-1 - "filler" - parent: unnamed-GtkContainerAccessible-0 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-2 - "filler" - parent: unnamed-GtkContainerAccessible-1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-3 - "color chooser" - parent: unnamed-GtkContainerAccessible-2 - index: 0 - name: Color Wheel - description: Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle. - controlled-by: 0 - 0 - 100 - 255 - 255 - 255 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-4 - "filler" - parent: unnamed-GtkContainerAccessible-2 - index: 1 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-5 - "panel" - parent: unnamed-GtkContainerAccessible-4 - index: 0 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-6 - "filler" - parent: unnamed-GtkFrameAccessible-5 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-7 - "unknown" - parent: unnamed-GtkContainerAccessible-6 - index: 0 - description: The previously-selected color, for comparison to the color you're selecting now. - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-8 - "unknown" - parent: unnamed-GtkContainerAccessible-6 - index: 1 - description: The color you've chosen. - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkButtonAccessible-9 - "push button" - parent: unnamed-GtkContainerAccessible-4 - index: 1 - description: Click the eyedropper, then click a color anywhere on your screen to select that color. - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - unnamed-GtkContainerAccessible-10 - "filler" - parent: unnamed-GtkContainerAccessible-1 - index: 1 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkContainerAccessible-11 - "panel" - parent: unnamed-GtkContainerAccessible-10 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - #FFFFFF - "text" - parent: unnamed-GtkContainerAccessible-11 - index: 0 - description: You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry. - labelled-by: Color name: - state: editable enabled focusable sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: #FFFFFF - character count: 7 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>n - Color name: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 1 - name: Color name: - label-for: #FFFFFF - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Color name: - character count: 11 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 255 - "text" - parent: unnamed-GtkContainerAccessible-11 - index: 2 - description: Transparency of the color. - state: editable enabled focusable sensitive single-line - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 255 - character count: 3 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - unnamed-GtkScaleAccessible-12 - "slider" - parent: unnamed-GtkContainerAccessible-11 - index: 3 - description: Transparency of the color. - labelled-by: Opacity: - state: enabled focusable horizontal sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 255.000000 - current value: 255.000000 - minimum increment: 1.000000 - Opacity: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 4 - name: Opacity: - label-for: unnamed-GtkScaleAccessible-12 - state: enabled multi-line sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Opacity: - character count: 8 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - unnamed-GtkWidgetAccessible-13 - "separator" - parent: unnamed-GtkContainerAccessible-11 - index: 5 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - 255 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 6 - description: Amount of blue light in the color. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Blue: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 255 - character count: 3 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>b - <AtkValue> - minimum value: 0.000000 - maximum value: 255.000000 - current value: 255.000000 - minimum increment: 1.000000 - Blue: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 7 - name: Blue: - label-for: 255 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Blue: - character count: 5 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 255 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 8 - description: Amount of green light in the color. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Green: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 255 - character count: 3 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>g - <AtkValue> - minimum value: 0.000000 - maximum value: 255.000000 - current value: 255.000000 - minimum increment: 1.000000 - Green: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 9 - name: Green: - label-for: 255 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Green: - character count: 6 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 255 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 10 - description: Amount of red light in the color. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Red: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 255 - character count: 3 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>r - <AtkValue> - minimum value: 0.000000 - maximum value: 255.000000 - current value: 255.000000 - minimum increment: 1.000000 - Red: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 11 - name: Red: - label-for: 255 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Red: - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 100 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 12 - description: Brightness of the color. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Value: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 100 - character count: 3 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>v - <AtkValue> - minimum value: 0.000000 - maximum value: 100.000000 - current value: 100.000000 - minimum increment: 1.000000 - Value: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 13 - name: Value: - label-for: 100 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Value: - character count: 6 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 0 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 14 - description: Intensity of the color. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Saturation: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 0 - character count: 1 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>a - <AtkValue> - minimum value: 0.000000 - maximum value: 100.000000 - current value: 0.000000 - minimum increment: 1.000000 - Saturation: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 15 - name: Saturation: - label-for: 0 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Saturation: - character count: 11 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - 0 - "spin button" - parent: unnamed-GtkContainerAccessible-11 - index: 16 - description: Position on the color wheel. - controller-for: unnamed-GtkWidgetAccessible-3 - labelled-by: Hue: - state: editable enabled focusable horizontal sensitive showing single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: 0 - character count: 1 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>h - <AtkValue> - minimum value: 0.000000 - maximum value: 360.000000 - current value: 0.000000 - minimum increment: 1.000000 - Hue: - "label" - parent: unnamed-GtkContainerAccessible-11 - index: 17 - name: Hue: - label-for: 0 - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Hue: - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - unnamed-GtkContainerAccessible-14 - "filler" - parent: unnamed-GtkContainerAccessible-10 - index: 1 - state: enabled sensitive vertical - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - Palette: - "label" - parent: unnamed-GtkContainerAccessible-14 - index: 0 - name: Palette: - label-for: unnamed-GtkWidgetAccessible-15 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Palette: - character count: 8 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - unnamed-GtkContainerAccessible-16 - "panel" - parent: unnamed-GtkContainerAccessible-14 - index: 1 - state: enabled horizontal sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-17 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 0 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-18 - "unknown" - parent: unnamed-GtkFrameAccessible-17 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-19 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 1 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-20 - "unknown" - parent: unnamed-GtkFrameAccessible-19 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-21 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 2 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-22 - "unknown" - parent: unnamed-GtkFrameAccessible-21 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-23 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 3 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-24 - "unknown" - parent: unnamed-GtkFrameAccessible-23 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-25 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 4 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-26 - "unknown" - parent: unnamed-GtkFrameAccessible-25 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-27 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 5 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-28 - "unknown" - parent: unnamed-GtkFrameAccessible-27 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-29 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 6 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-30 - "unknown" - parent: unnamed-GtkFrameAccessible-29 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-31 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 7 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-32 - "unknown" - parent: unnamed-GtkFrameAccessible-31 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-33 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 8 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-34 - "unknown" - parent: unnamed-GtkFrameAccessible-33 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-35 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 9 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-36 - "unknown" - parent: unnamed-GtkFrameAccessible-35 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-37 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 10 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-38 - "unknown" - parent: unnamed-GtkFrameAccessible-37 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-39 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 11 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-40 - "unknown" - parent: unnamed-GtkFrameAccessible-39 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-41 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 12 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-42 - "unknown" - parent: unnamed-GtkFrameAccessible-41 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-43 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 13 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-44 - "unknown" - parent: unnamed-GtkFrameAccessible-43 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-45 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 14 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-46 - "unknown" - parent: unnamed-GtkFrameAccessible-45 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-47 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 15 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-48 - "unknown" - parent: unnamed-GtkFrameAccessible-47 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-49 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 16 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-50 - "unknown" - parent: unnamed-GtkFrameAccessible-49 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-51 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 17 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-52 - "unknown" - parent: unnamed-GtkFrameAccessible-51 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-53 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 18 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-54 - "unknown" - parent: unnamed-GtkFrameAccessible-53 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkFrameAccessible-55 - "panel" - parent: unnamed-GtkContainerAccessible-16 - index: 19 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkWidgetAccessible-15 - "unknown" - parent: unnamed-GtkFrameAccessible-55 - index: 0 - description: Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select "Save color here." - labelled-by: Palette: - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - action_area - "filler" - parent: vbox - index: 1 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - unnamed-GtkButtonAccessible-56 - "push button" - parent: action_area - index: 0 - name: Help - state: enabled focusable sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>h - unnamed-GtkButtonAccessible-57 - "push button" - parent: action_area - index: 1 - name: Select - state: enabled focusable sensitive showing visible default - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>s - unnamed-GtkButtonAccessible-58 - "push button" - parent: action_area - index: 2 - name: Cancel - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>c diff --git a/tests/a11y/colorchooser.ui b/tests/a11y/colorchooser.ui deleted file mode 100644 index c17f97d80e..0000000000 --- a/tests/a11y/colorchooser.ui +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkColorSelectionDialog" id="window1"> - </object> -</interface> diff --git a/tests/a11y/combos.txt b/tests/a11y/combos.txt deleted file mode 100644 index 7bcd8e044a..0000000000 --- a/tests/a11y/combos.txt +++ /dev/null @@ -1,229 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - box1 - "filler" - parent: window1 - index: 0 - state: enabled horizontal sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - label1 - "label" - parent: box1 - index: 0 - name: Combo: - label-for: combo1 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Combo: - character count: 6 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - combo1 - "combo box" - parent: box1 - index: 1 - labelled-by: label1 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: press - action 0 description: Presses the combobox - action 0 keybinding: <Alt>c - unnamed-GtkMenuAccessible-0 - "menu" - parent: combo1 - index: 0 - state: enabled sensitive - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkSelection> - combo2 - "combo box" - parent: box1 - index: 2 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: press - action 0 description: Presses the combobox - unnamed-GtkMenuAccessible-1 - "menu" - parent: combo2 - index: 0 - state: enabled sensitive - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkSelection> - - "text" - parent: combo2 - index: 1 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - combo3 - "combo box" - parent: box1 - index: 3 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: press - action 0 description: Presses the combobox - unnamed-GtkMenuAccessible-2 - "menu" - parent: combo3 - index: 0 - state: enabled sensitive - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkSelection> - combo4 - "combo box" - parent: box1 - index: 4 - state: enabled sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: press - action 0 description: Presses the combobox - unnamed-GtkMenuAccessible-3 - "menu" - parent: combo4 - index: 0 - state: enabled sensitive - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkSelection> - - "text" - parent: combo4 - index: 1 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry diff --git a/tests/a11y/combos.ui b/tests/a11y/combos.ui deleted file mode 100644 index 8ad2416f6e..0000000000 --- a/tests/a11y/combos.ui +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkBox" id="box1"> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label">_Combo:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">combo1</property> - </object> - </child> - <child> - <object class="GtkComboBox" id="combo1"> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkComboBox" id="combo2"> - <property name="visible">True</property> - <property name="has-entry">True</property> - </object> - </child> - <child> - <object class="GtkComboBoxText" id="combo3"> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkComboBoxText" id="combo4"> - <property name="visible">True</property> - <property name="has-entry">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/derive.c b/tests/a11y/derive.c deleted file mode 100644 index 6ecb47cf1d..0000000000 --- a/tests/a11y/derive.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2012 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> -#include <gtk/gtk-a11y.h> - -/* Implement a (trivial) GtkButton subclass, derive GtkButtonAccessible - * and use the derived accessible for our new button. - */ - -typedef GtkButtonAccessible MyButtonAccessible; -typedef GtkButtonAccessibleClass MyButtonAccessibleClass; - -G_DEFINE_TYPE (MyButtonAccessible, my_button_accessible, GTK_TYPE_BUTTON_ACCESSIBLE) - -static void -my_button_accessible_init (MyButtonAccessible *a) -{ -} - -static void -my_button_accessible_class_init (MyButtonAccessibleClass *class) -{ -} - -typedef GtkButton MyButton; -typedef GtkButtonClass MyButtonClass; - -G_DEFINE_TYPE (MyButton, my_button, GTK_TYPE_BUTTON) - -static void -my_button_init (MyButton *b) -{ -} - -static void -my_button_class_init (MyButtonClass *class) -{ - gtk_widget_class_set_accessible_type (GTK_WIDGET_CLASS (class), - my_button_accessible_get_type ()); -} - -int main (int argc, char *argv[]) -{ - GtkWidget *widget; - GtkAccessible *accessible; - - gtk_init (NULL, NULL); - - widget = GTK_WIDGET (g_object_new (my_button_get_type (), NULL)); - accessible = GTK_ACCESSIBLE (gtk_widget_get_accessible (widget)); - - g_assert (G_TYPE_CHECK_INSTANCE_TYPE (accessible, my_button_accessible_get_type ())); - - return 0; -} diff --git a/tests/a11y/entries.txt b/tests/a11y/entries.txt deleted file mode 100644 index 657a3f3d25..0000000000 --- a/tests/a11y/entries.txt +++ /dev/null @@ -1,330 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - box1 - "filler" - parent: window1 - index: 0 - state: enabled horizontal sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - label1 - "label" - parent: box1 - index: 0 - name: entry: - label-for: entry1 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: entry: - character count: 6 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - label2 - "label" - parent: box1 - index: 1 - name: password entry: - label-for: entry2 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: password entry: - character count: 15 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - label3 - "label" - parent: box1 - index: 2 - name: spinbutton: - label-for: spinbutton1 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: spinbutton: - character count: 11 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - entry1 - "text" - parent: box1 - index: 3 - labelled-by: label1 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: text - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>e - entry2 - "password text" - parent: box1 - index: 4 - labelled-by: label2 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: ************* - character count: 13 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>p - entry3 - "text" - parent: box1 - index: 5 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: icons - character count: 5 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - unnamed-GtkEntryIconAccessible-0 - "icon" - parent: entry3 - state: enabled sensitive visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: activate - unnamed-GtkEntryIconAccessible-1 - "icon" - parent: entry3 - state: enabled sensitive visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: activate - spinbutton1 - "spin button" - parent: box1 - index: 6 - labelled-by: label3 - state: editable enabled focusable horizontal sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>s - <AtkValue> - minimum value: 0.500000 - maximum value: 99.500000 - current value: 45.500000 - minimum increment: 0.500000 diff --git a/tests/a11y/entries.ui b/tests/a11y/entries.ui deleted file mode 100644 index 280d3bc182..0000000000 --- a/tests/a11y/entries.ui +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAdjustment" id="adjustment1"> - <property name="lower">0.5</property> - <property name="upper">99.5</property> - <property name="page-size">0</property> - <property name="value">45.5</property> - <property name="step-increment">0.5</property> - <property name="page-increment">5.0</property> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkBox" id="box1"> - <child> - <object class="GtkLabel" id="label1"> - <property name="label">_entry:</property> - <property name="visible">True</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">entry1</property> - </object> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="label">_password entry:</property> - <property name="visible">True</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">entry2</property> - </object> - </child> - <child> - <object class="GtkLabel" id="label3"> - <property name="label">_spinbutton:</property> - <property name="visible">True</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">spinbutton1</property> - </object> - </child> - <child> - <object class="GtkEntry" id="entry1"> - <property name="text" translatable="yes">text</property> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkEntry" id="entry2"> - <property name="text" translatable="yes">password text</property> - <property name="visible">True</property> - <property name="visibility">False</property> - <property name="invisible_char">*</property> - <property name="invisible_char_set">True</property> - </object> - </child> - <child> - <object class="GtkEntry" id="entry3"> - <property name="text" translatable="yes">icons</property> - <property name="visible">True</property> - <property name="primary-icon-stock">stock1</property> - <property name="secondary-icon-stock">stock2</property> - </object> - </child> - <child> - <object class="GtkSpinButton" id="spinbutton1"> - <property name="adjustment">adjustment1</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/expander.txt b/tests/a11y/expander.txt deleted file mode 100644 index 68b6c08aa2..0000000000 --- a/tests/a11y/expander.txt +++ /dev/null @@ -1,60 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - expander1 - "toggle button" - parent: window1 - index: 0 - name: Reveal this - state: enabled expandable focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: activate - action 0 description: Activates the expander - label1 - "label" - parent: expander1 - index: 0 - name: Hello World! - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Hello World! - character count: 12 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word diff --git a/tests/a11y/expander.ui b/tests/a11y/expander.ui deleted file mode 100644 index a0baf67f7a..0000000000 --- a/tests/a11y/expander.ui +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkExpander" id="expander1"> - <property name="label" translatable="yes">Reveal this</property> - <property name="visible">True</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/focus.c b/tests/a11y/focus.c deleted file mode 100644 index 1b83ea60a2..0000000000 --- a/tests/a11y/focus.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * 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> -#include <string.h> -const gchar data[] = - "<interface>" - " <object class='GtkWindow' id='window1'>" - " <property name='visible'>True</property>" - " <child>" - " <object class='GtkBox' id='box1'>" - " <property name='visible'>True</property>" - " <child>" - " <object class='GtkEntry' id='entry1'>" - " <property name='visible'>True</property>" - " <property name='text'>entry1</property>" - " </object>" - " </child>" - " <child>" - " <object class='GtkEntry' id='entry2'>" - " <property name='visible'>True</property>" - " <property name='text'>entry2</property>" - " </object>" - " </child>" - " </object>" - " </child>" - " </object>" - "</interface>"; - -static void -got_active (GObject *win, GParamSpec *pspec, gpointer data) -{ - gtk_main_quit (); -} - -static void -test_focus_change (void) -{ - GtkBuilder *builder; - GError *error; - GtkWidget *window; - GtkWidget *entry1; - GtkWidget *entry2; - AtkObject *wa; - AtkObject *ea1; - AtkObject *ea2; - GtkWidget *focus; - AtkStateSet *set; - gboolean ret; - - builder = gtk_builder_new (); - error = NULL; - gtk_builder_add_from_string (builder, data, -1, &error); - g_assert_no_error (error); - window = (GtkWidget*)gtk_builder_get_object (builder, "window1"); - entry1 = (GtkWidget*)gtk_builder_get_object (builder, "entry1"); - entry2 = (GtkWidget*)gtk_builder_get_object (builder, "entry2"); - - wa = gtk_widget_get_accessible (window); - ea1 = gtk_widget_get_accessible (entry1); - ea2 = gtk_widget_get_accessible (entry2); - -#if 0 - g_signal_connect (window, "notify::is-active", G_CALLBACK (got_active), NULL); - gtk_widget_show (window); - gtk_main (); - g_assert (gtk_window_is_active (GTK_WINDOW (window))); -#endif - - focus = gtk_window_get_focus (GTK_WINDOW (window)); - g_assert (focus == entry1); - - set = atk_object_ref_state_set (ea1); - ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED); - g_assert (ret); - g_object_unref (set); - set = atk_object_ref_state_set (ea2); - ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED); - g_assert (!ret); - g_object_unref (set); - - gtk_widget_grab_focus (entry2); - - focus = gtk_window_get_focus (GTK_WINDOW (window)); - g_assert (focus == entry2); - - set = atk_object_ref_state_set (ea1); - ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED); - g_assert (!ret); - g_object_unref (set); - set = atk_object_ref_state_set (ea2); - ret = atk_state_set_contains_state (set, ATK_STATE_FOCUSED); - g_assert (ret); - g_object_unref (set); - - g_object_unref (builder); -} - - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_add_func ("/focus/change", test_focus_change); - - return g_test_run (); -} - diff --git a/tests/a11y/hello-world.txt b/tests/a11y/hello-world.txt deleted file mode 100644 index d20b0eb045..0000000000 --- a/tests/a11y/hello-world.txt +++ /dev/null @@ -1,24 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - button1 - "push button" - parent: window1 - index: 0 - name: Hello World! - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button diff --git a/tests/a11y/hello-world.ui b/tests/a11y/hello-world.ui deleted file mode 100644 index 3dc807570f..0000000000 --- a/tests/a11y/hello-world.ui +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkButton" id="button1"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/iconview.txt b/tests/a11y/iconview.txt deleted file mode 100644 index c71c8e0e80..0000000000 --- a/tests/a11y/iconview.txt +++ /dev/null @@ -1,90 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - iv1 - "layered pane" - parent: window1 - index: 0 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkSelection> - One - "icon" - parent: iv1 - index: 0 - state: enabled focusable selectable sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: One - character count: 3 - caret offset: 0 - <AtkImage> - image size: 0 x 0 - image description: (null) - <AtkAction> - action 0 name: activate - action 0 description: Activate item - Three - "icon" - parent: iv1 - index: 1 - state: enabled focusable selectable sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Three - character count: 5 - caret offset: 0 - <AtkImage> - image size: 0 x 0 - image description: (null) - <AtkAction> - action 0 name: activate - action 0 description: Activate item - Five - "icon" - parent: iv1 - index: 2 - state: enabled focusable selectable sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Five - character count: 4 - caret offset: 0 - <AtkImage> - image size: 0 x 0 - image description: (null) - <AtkAction> - action 0 name: activate - action 0 description: Activate item - Seven - "icon" - parent: iv1 - index: 3 - state: enabled focusable selectable sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Seven - character count: 5 - caret offset: 0 - <AtkImage> - image size: 0 x 0 - image description: (null) - <AtkAction> - action 0 name: activate - action 0 description: Activate item diff --git a/tests/a11y/iconview.ui b/tests/a11y/iconview.ui deleted file mode 100644 index ba5d89cfa2..0000000000 --- a/tests/a11y/iconview.ui +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkListStore" id="liststore1"> - <columns> - <column type="gchararray"/> - <column type="gchararray"/> - </columns> - <data> - <row><col id="0">One</col><col id="1">Two</col></row> - <row><col id="0">Three</col><col id="1">Four</col></row> - <row><col id="0">Five</col><col id="1">Six</col></row> - <row><col id="0">Seven</col><col id="1">Eight</col></row> - </data> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkIconView" id="iv1"> - <property name="visible">True</property> - <property name="model">liststore1</property> - <child> - <object class="GtkCellRendererText" id="renderer1"> - </object> - <attributes> - <attribute name="text">0</attribute> - </attributes> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/infobar.txt b/tests/a11y/infobar.txt deleted file mode 100644 index 0fa016a04d..0000000000 --- a/tests/a11y/infobar.txt +++ /dev/null @@ -1,75 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - bar1 - "alert" - parent: window1 - index: 0 - name: Information - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - box1 - "filler" - parent: bar1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - label1 - "label" - parent: box1 - index: 0 - name: Some important info - state: enabled multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Some important info - character count: 19 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - action_area - "filler" - parent: bar1 - index: 1 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 diff --git a/tests/a11y/infobar.ui b/tests/a11y/infobar.ui deleted file mode 100644 index a082198ee8..0000000000 --- a/tests/a11y/infobar.ui +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkInfoBar" id="bar1"> - <property name="visible">True</property> - <property name="message-type">info</property> - <child internal-child="content_area"> - <object class="GtkBox" id="box1"> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">Some important info</property> - </object> - </child> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/link.txt b/tests/a11y/link.txt deleted file mode 100644 index c560183234..0000000000 --- a/tests/a11y/link.txt +++ /dev/null @@ -1,26 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - button1 - "push button" - parent: window1 - index: 0 - name: Hello World! - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - <AtkHyperlinkImpl> - anchors: http://www.gtk.org diff --git a/tests/a11y/link.ui b/tests/a11y/link.ui deleted file mode 100644 index d8cff2707a..0000000000 --- a/tests/a11y/link.ui +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkLinkButton" id="button1"> - <property name="label" translatable="yes">Hello World!</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="uri">http://www.gtk.org</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/lockbutton.txt b/tests/a11y/lockbutton.txt deleted file mode 100644 index 845c6c8e6e..0000000000 --- a/tests/a11y/lockbutton.txt +++ /dev/null @@ -1,26 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - button1 - "push button" - parent: window1 - index: 0 - name: Lock - description: Dialog is unlocked. -Click to prevent further changes - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button diff --git a/tests/a11y/lockbutton.ui b/tests/a11y/lockbutton.ui deleted file mode 100644 index 7df14c8373..0000000000 --- a/tests/a11y/lockbutton.ui +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkLockButton" id="button1"> - <property name="visible">True</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/menu.txt b/tests/a11y/menu.txt deleted file mode 100644 index 315fd91bd2..0000000000 --- a/tests/a11y/menu.txt +++ /dev/null @@ -1,315 +0,0 @@ -window1 - "frame" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - menubar1 - "menu bar" - parent: window1 - index: 0 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkSelection> - menuitem1 - "menu" - parent: menubar1 - index: 0 - name: File - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>f;<Alt>f; - <AtkSelection> - imagemenuitem1 - "menu item" - parent: menuitem1 - index: 0 - name: New - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: n;<Alt>f:n; - <AtkSelection> - imagemenuitem2 - "menu" - parent: menuitem1 - index: 1 - name: Open - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: o;<Alt>f:o; - <AtkSelection> - radiomenuitem1 - "radio menu item" - parent: imagemenuitem2 - index: 0 - name: One - member-of: radiomenuitem3 - radiomenuitem2 - radiomenuitem1 - state: checked enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - radiomenuitem2 - "radio menu item" - parent: imagemenuitem2 - index: 1 - name: Two - member-of: radiomenuitem3 - radiomenuitem2 - radiomenuitem1 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - radiomenuitem3 - "radio menu item" - parent: imagemenuitem2 - index: 2 - name: Three - member-of: radiomenuitem3 - radiomenuitem2 - radiomenuitem1 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - imagemenuitem3 - "menu item" - parent: menuitem1 - index: 2 - name: Save - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: s;<Alt>f:s; - <AtkSelection> - imagemenuitem4 - "menu item" - parent: menuitem1 - index: 3 - name: Save As - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: a;<Alt>f:a; - <AtkSelection> - separatormenuitem1 - "separator" - parent: menuitem1 - index: 4 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - <AtkSelection> - checkmenuitem1 - "check menu item" - parent: menuitem1 - index: 5 - name: awesome - state: selectable sensitive visible indeterminate - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - separatormenuitem2 - "separator" - parent: menuitem1 - index: 6 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - <AtkSelection> - imagemenuitem5 - "menu item" - parent: menuitem1 - index: 7 - name: Quit - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: q;<Alt>f:q; - <AtkSelection> - menuitem2 - "menu" - parent: menubar1 - index: 1 - name: Edit - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>e;<Alt>e; - <AtkSelection> - imagemenuitem6 - "menu item" - parent: menuitem2 - index: 0 - name: Cut - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: t;<Alt>e:t; - <AtkSelection> - imagemenuitem7 - "menu item" - parent: menuitem2 - index: 1 - name: Copy - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: c;<Alt>e:c; - <AtkSelection> - imagemenuitem8 - "menu item" - parent: menuitem2 - index: 2 - name: Paste - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: p;<Alt>e:p; - <AtkSelection> - imagemenuitem9 - "menu item" - parent: menuitem2 - index: 3 - name: Delete - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: d;<Alt>e:d; - <AtkSelection> - menuitem3 - "menu item" - parent: menubar1 - index: 2 - name: View - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>v;<Alt>v; - <AtkSelection> - menuitem4 - "menu" - parent: menubar1 - index: 3 - name: Help - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>h;<Alt>h; - <AtkSelection> - imagemenuitem10 - "menu item" - parent: menuitem4 - index: 0 - name: About - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: a;<Alt>h:a; - <AtkSelection> diff --git a/tests/a11y/menu.ui b/tests/a11y/menu.ui deleted file mode 100644 index bb2274f515..0000000000 --- a/tests/a11y/menu.ui +++ /dev/null @@ -1,230 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <child> - <object class="GtkMenuBar" id="menubar1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkMenuItem" id="menuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_File</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem1"> - <property name="label">gtk-new</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem2"> - <property name="label">gtk-open</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu4"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkRadioMenuItem" id="radiomenuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">One</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_as_radio">True</property> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="radiomenuitem2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">Two</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">radiomenuitem1</property> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="radiomenuitem3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">Three</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">radiomenuitem1</property> - </object> - </child> - </object> - </child> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem3"> - <property name="label">gtk-save</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem4"> - <property name="label">gtk-save-as</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkSeparatorMenuItem" id="separatormenuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - </object> - </child> - <child> - <object class="GtkCheckMenuItem" id="checkmenuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">awesome</property> - <property name="use_underline">True</property> - <property name="inconsistent">True</property> - </object> - </child> - <child> - <object class="GtkSeparatorMenuItem" id="separatormenuitem2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem5"> - <property name="label">gtk-quit</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - </object> - </child> - </object> - </child> - <child> - <object class="GtkMenuItem" id="menuitem2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_Edit</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem6"> - <property name="label">gtk-cut</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem7"> - <property name="label">gtk-copy</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem8"> - <property name="label">gtk-paste</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem9"> - <property name="label">gtk-delete</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - </object> - </child> - </object> - </child> - <child> - <object class="GtkMenuItem" id="menuitem3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_View</property> - <property name="use_underline">True</property> - </object> - </child> - <child> - <object class="GtkMenuItem" id="menuitem4"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_Help</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem10"> - <property name="label">gtk-about</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/menus.txt b/tests/a11y/menus.txt deleted file mode 100644 index 7681245a5a..0000000000 --- a/tests/a11y/menus.txt +++ /dev/null @@ -1,134 +0,0 @@ -window1 - "frame" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - menubar1 - "menu bar" - parent: window1 - index: 0 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkSelection> - menuitem1 - "menu" - parent: menubar1 - index: 0 - name: File - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>f;<Alt>f; - <AtkSelection> - imagemenuitem1 - "menu item" - parent: menuitem1 - index: 0 - name: New - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: n;<Alt>f:n; - <AtkSelection> - imagemenuitem2 - "menu item" - parent: menuitem1 - index: 1 - name: bla - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - separatormenuitem1 - "separator" - parent: menuitem1 - index: 2 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - <AtkSelection> - menuitem3 - "check menu item" - parent: menuitem1 - index: 3 - name: check item - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - menuitem2 - "menu" - parent: menubar1 - index: 1 - name: Edit - state: enabled selectable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - action 0 keybinding: <Alt>e;<Alt>e; - <AtkSelection> - menuitem4 - "radio menu item" - parent: menuitem2 - index: 0 - name: radio1 - member-of: menuitem5 - menuitem4 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> - menuitem5 - "radio menu item" - parent: menuitem2 - index: 1 - name: radio2 - member-of: menuitem5 - menuitem4 - state: enabled selectable sensitive visible - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkAction> - action 0 name: click - action 0 description: Clicks the menuitem - <AtkSelection> diff --git a/tests/a11y/menus.ui b/tests/a11y/menus.ui deleted file mode 100644 index 5b926f3917..0000000000 --- a/tests/a11y/menus.ui +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="stock">gtk-go-up</property> - <property name="icon-size">5</property> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <child> - <object class="GtkMenuBar" id="menubar1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkMenuItem" id="menuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_File</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem1"> - <property name="label">gtk-new</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </object> - </child> - <child> - <object class="GtkImageMenuItem" id="imagemenuitem2"> - <property name="label" translatable="yes">bla</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="image">image1</property> - <property name="use_stock">False</property> - </object> - </child> - <child> - <object class="GtkSeparatorMenuItem" id="separatormenuitem1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - </object> - </child> - <child> - <object class="GtkCheckMenuItem" id="menuitem3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">check item</property> - <property name="use_underline">True</property> - </object> - </child> - </object> - </child> - </object> - </child> - <child> - <object class="GtkMenuItem" id="menuitem2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">_Edit</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="menu2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkRadioMenuItem" id="menuitem4"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">radio1</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - </object> - </child> - <child> - <object class="GtkRadioMenuItem" id="menuitem5"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="use_action_appearance">False</property> - <property name="label" translatable="yes">radio2</property> - <property name="use_underline">True</property> - <property name="draw_as_radio">True</property> - <property name="group">menuitem4</property> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/messagedialog.txt b/tests/a11y/messagedialog.txt deleted file mode 100644 index 1d4275e63e..0000000000 --- a/tests/a11y/messagedialog.txt +++ /dev/null @@ -1,135 +0,0 @@ -window1 - "alert" - index: 0 - name: Information - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - dialog-vbox1 - "filler" - parent: window1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - box - "filler" - parent: dialog-vbox1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - image - "icon" - parent: box - index: 0 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 48 x 48 - image description: (null) - message_area - "filler" - parent: box - index: 1 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - label - "label" - parent: message_area - index: 0 - name: Information - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Information - character count: 11 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - secondary_label - "label" - parent: message_area - index: 1 - name: More Information - state: enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: More Information - character count: 16 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - dialog-action_area1 - "filler" - parent: dialog-vbox1 - index: 1 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 diff --git a/tests/a11y/messagedialog.ui b/tests/a11y/messagedialog.ui deleted file mode 100644 index a6a080e716..0000000000 --- a/tests/a11y/messagedialog.ui +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkMessageDialog" id="window1"> - <property name="visible">True</property> - <property name="message-type">info</property> - <property name="text" translatable="yes">Information</property> - <property name="secondary-text" translatable="yes">More Information</property> - </object> -</interface> diff --git a/tests/a11y/mnemonic.txt b/tests/a11y/mnemonic.txt deleted file mode 100644 index 7ca52b9b0d..0000000000 --- a/tests/a11y/mnemonic.txt +++ /dev/null @@ -1,100 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - box1 - "filler" - parent: window1 - index: 0 - state: enabled horizontal sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - label1 - "label" - parent: box1 - index: 0 - name: Entry: - label-for: entry1 - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Entry: - character count: 6 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - entry1 - "text" - parent: box1 - index: 1 - labelled-by: label1 - state: editable enabled focusable sensitive single-line visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: text - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - action 0 keybinding: <Alt>e diff --git a/tests/a11y/mnemonic.ui b/tests/a11y/mnemonic.ui deleted file mode 100644 index 443f2cd10c..0000000000 --- a/tests/a11y/mnemonic.ui +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkBox" id="box1"> - <child> - <object class="GtkLabel" id="label1"> - <property name="label" translatable="yes">_Entry:</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">entry1</property> - </object> - </child> - <child> - <object class="GtkEntry" id="entry1"> - <property name="text" translatable="yes">text</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/notebook.txt b/tests/a11y/notebook.txt deleted file mode 100644 index cc9e5ff0ae..0000000000 --- a/tests/a11y/notebook.txt +++ /dev/null @@ -1,69 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - notebook1 - "page tab list" - parent: window1 - index: 0 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkSelection> - selected children: unnamed-GtkNotebookPageAccessible-0 - unnamed-GtkNotebookPageAccessible-0 - "page tab" - parent: notebook1 - index: 0 - name: Tab 1 - state: enabled multi-line selectable selected sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - page1 - "push button" - index: 0 - name: Yes - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>y - unnamed-GtkNotebookPageAccessible-1 - "page tab" - parent: notebook1 - index: 1 - name: Tab 2 - state: enabled multi-line selectable sensitive showing visible - <AtkComponent> - layer: widget - alpha: 1 - page2 - "push button" - index: 0 - name: No - state: enabled focusable sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 20 x 20 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - action 0 keybinding: <Alt>n diff --git a/tests/a11y/notebook.ui b/tests/a11y/notebook.ui deleted file mode 100644 index 95d1328ab0..0000000000 --- a/tests/a11y/notebook.ui +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkNotebook" id="notebook1"> - <property name="visible">True</property> - <child> - <object class="GtkButton" id="page1"> - <property name="label">gtk-yes</property> - <property name="use_stock">True</property> - <property name="visible">True</property> - </object> - </child> - <child type="tab"> - <object class="GtkLabel" id="tab1"> - <property name="label" translatable="yes">Tab 1</property> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkButton" id="page2"> - <property name="label">gtk-no</property> - <property name="use_stock">True</property> - <property name="visible">True</property> - </object> - </child> - <child type="tab"> - <object class="GtkLabel" id="tab2"> - <property name="label" translatable="yes">Tab 2</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/paned.txt b/tests/a11y/paned.txt deleted file mode 100644 index c1eecc73a2..0000000000 --- a/tests/a11y/paned.txt +++ /dev/null @@ -1,100 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - paned1 - "split pane" - parent: window1 - index: 0 - state: enabled focusable horizontal sensitive - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0 - maximum value: 0 - current value: 0 - minimum increment: 0 - label1 - "label" - parent: paned1 - index: 0 - name: Left - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Left - character count: 4 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - label2 - "label" - parent: paned1 - index: 1 - name: Right - state: enabled multi-line sensitive visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Right - character count: 5 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word diff --git a/tests/a11y/paned.ui b/tests/a11y/paned.ui deleted file mode 100644 index 212625799f..0000000000 --- a/tests/a11y/paned.ui +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkPaned" id="paned1"> - <child> - <object class="GtkLabel" id="label1"> - <property name="label" translatable="yes">Left</property> - <property name="visible">True</property> - </object> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="label" translatable="yes">Right</property> - <property name="visible">True</property> - </object> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/pickers.txt b/tests/a11y/pickers.txt deleted file mode 100644 index 237b1fcaa2..0000000000 --- a/tests/a11y/pickers.txt +++ /dev/null @@ -1,70 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - grid1 - "panel" - parent: window1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - button3 - "push button" - parent: grid1 - index: 0 - name: Sans - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button2 - "push button" - parent: grid1 - index: 1 - state: enabled focusable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: -1 x -1 - image description: (null) - <AtkAction> - action 0 name: click - action 0 description: Clicks the button - button1 - "combo box" - parent: grid1 - index: 2 - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkAction> - action 0 name: press - action 0 description: Presses the combobox - unnamed-GtkMenuAccessible-0 - "menu" - parent: button1 - index: 0 - state: enabled sensitive - toolkit: gtk - <AtkComponent> - layer: popup - alpha: 1 - <AtkSelection> diff --git a/tests/a11y/pickers.ui b/tests/a11y/pickers.ui deleted file mode 100644 index a540fa1ccb..0000000000 --- a/tests/a11y/pickers.ui +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkGrid" id="grid1"> - <property name="visible">True</property> - <child> - <object class="GtkAppChooserButton" id="button1"> - <property name="visible">True</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkColorButton" id="button2"> - <property name="visible">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkFontButton" id="button3"> - <property name="visible">True</property> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">0</property> - </packing> - </child> -<!-- - <child> - <object class="GtkFileChooserButton" id="button4"> - <property name="visible">True</property> - </object> - <packing> - <property name="left_attach">3</property> - <property name="top_attach">0</property> - </packing> - </child> ---> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/placeholder-text.txt b/tests/a11y/placeholder-text.txt deleted file mode 100644 index 4ac8e1ed35..0000000000 --- a/tests/a11y/placeholder-text.txt +++ /dev/null @@ -1,143 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - box1 - "filler" - parent: window1 - index: 0 - state: enabled sensitive showing vertical visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - entry1 - "text" - parent: box1 - index: 0 - state: editable enabled focusable sensitive showing single-line visible - toolkit: gtk - placeholder-text: Subject or Addresses contain - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - entry2 - "text" - parent: box1 - index: 1 - state: editable enabled focusable sensitive showing single-line visible - toolkit: gtk - placeholder-text: Message contains - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Some text - character count: 9 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry - entry3 - "text" - parent: box1 - index: 2 - state: editable enabled focusable sensitive showing single-line visible - toolkit: gtk - placeholder-text: Body contains - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: - character count: 0 - caret offset: 0 - default attributes: bg-color: <omitted> - bg-full-height: 0 - direction: <omitted> - editable: false - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: word - <AtkAction> - action 0 name: activate - action 0 description: Activates the entry diff --git a/tests/a11y/placeholder-text.ui b/tests/a11y/placeholder-text.ui deleted file mode 100644 index 4657cb5c63..0000000000 --- a/tests/a11y/placeholder-text.ui +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkBox" id="box1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkEntry" id="entry1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="invisible_char_set">True</property> - <property name="placeholder_text">Subject or Addresses contain</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="entry2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="text" translatable="yes">Some text</property> - <property name="invisible_char_set">True</property> - <property name="placeholder_text">Message contains</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="entry3"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="is_focus">True</property> - <property name="invisible_char">●</property> - <property name="invisible_char_set">True</property> - <property name="placeholder_text">Body contains</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/progress.txt b/tests/a11y/progress.txt deleted file mode 100644 index 186711a6f0..0000000000 --- a/tests/a11y/progress.txt +++ /dev/null @@ -1,22 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - progress1 - "progress bar" - parent: window1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.000000 - maximum value: 1.000000 - current value: 0.500000 - minimum increment: 0.000000 diff --git a/tests/a11y/progress.ui b/tests/a11y/progress.ui deleted file mode 100644 index f34c13b8fa..0000000000 --- a/tests/a11y/progress.ui +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkProgressBar" id="progress1"> - <property name="visible">True</property> - <property name="fraction">0.5</property> - <property name="text">Good progress!</property> - <property name="show-text">True</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/range.txt b/tests/a11y/range.txt deleted file mode 100644 index 4a26c5faaf..0000000000 --- a/tests/a11y/range.txt +++ /dev/null @@ -1,46 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - grid1 - "panel" - parent: window1 - index: 0 - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - scrollbar1 - "scroll bar" - parent: grid1 - index: 0 - state: enabled focusable horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.500000 - maximum value: 99.500000 - current value: 45.500000 - minimum increment: 0.500000 - scale1 - "slider" - parent: grid1 - index: 1 - description: 45.5 - state: enabled focusable horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: 0.500000 - maximum value: 99.500000 - current value: 45.500000 - minimum increment: 0.500000 diff --git a/tests/a11y/range.ui b/tests/a11y/range.ui deleted file mode 100644 index 9c1ac450fa..0000000000 --- a/tests/a11y/range.ui +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAdjustment" id="adjustment1"> - <property name="lower">0.5</property> - <property name="upper">99.5</property> - <property name="page-size">0</property> - <property name="value">45.5</property> - <property name="step-increment">0.5</property> - <property name="page-increment">5.0</property> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkGrid" id="grid1"> - <property name="visible">True</property> - <child> - <object class="GtkScale" id="scale1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkScrollbar" id="scrollbar1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/scale-drawvalue.txt b/tests/a11y/scale-drawvalue.txt deleted file mode 100644 index e64b93504c..0000000000 --- a/tests/a11y/scale-drawvalue.txt +++ /dev/null @@ -1,23 +0,0 @@ -window1 - "frame" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - scale1 - "slider" - parent: window1 - index: 0 - description: -42.0 - state: enabled focusable horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkValue> - minimum value: -100.000000 - maximum value: 100.000000 - current value: -42.000000 - minimum increment: 1.000000 diff --git a/tests/a11y/scale-drawvalue.ui b/tests/a11y/scale-drawvalue.ui deleted file mode 100644 index ad6abbeac0..0000000000 --- a/tests/a11y/scale-drawvalue.ui +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAdjustment" id="adjustment1"> - <property name="lower">-100</property> - <property name="upper">100</property> - <property name="value">-42</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <child> - <object class="GtkScale" id="scale1"> - <property name="width-request">100</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> - <property name="round_digits">1</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/spinner.txt b/tests/a11y/spinner.txt deleted file mode 100644 index dd7c9f0811..0000000000 --- a/tests/a11y/spinner.txt +++ /dev/null @@ -1,22 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - spinner1 - "animation" - parent: window1 - index: 0 - name: Spinner - description: Provides visual indication of progress - state: enabled sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkImage> - image size: 12 x 12 - image description: (null) diff --git a/tests/a11y/spinner.ui b/tests/a11y/spinner.ui deleted file mode 100644 index 3873564d8a..0000000000 --- a/tests/a11y/spinner.ui +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkSpinner" id="spinner1"> - <property name="visible">True</property> - <property name="active">True</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/statusbar.txt b/tests/a11y/statusbar.txt deleted file mode 100644 index f98fc9aed2..0000000000 --- a/tests/a11y/statusbar.txt +++ /dev/null @@ -1,18 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - statusbar1 - "statusbar" - parent: window1 - index: 0 - name: - state: enabled horizontal sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 diff --git a/tests/a11y/statusbar.ui b/tests/a11y/statusbar.ui deleted file mode 100644 index bc635bce2f..0000000000 --- a/tests/a11y/statusbar.ui +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkStatusbar" id="statusbar1"> - <property name="visible">True</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/testfocus.c b/tests/a11y/testfocus.c deleted file mode 100644 index c438f6d5c2..0000000000 --- a/tests/a11y/testfocus.c +++ /dev/null @@ -1,117 +0,0 @@ -#include <gtk/gtk.h> - -static const gchar * -get_name (gpointer obj) -{ - GtkWidget *widget; - if (obj == NULL) - return "(nil)"; - else if (GTK_IS_WIDGET (obj)) - widget = GTK_WIDGET (obj); - else if (GTK_IS_ACCESSIBLE (obj)) - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - else - return "OOPS"; - if (GTK_IS_BUILDABLE (widget)) - return gtk_buildable_get_name (GTK_BUILDABLE (widget)); - else - return G_OBJECT_TYPE_NAME (widget); -} - -static gboolean -compare_focus (gpointer data) -{ - AtkObject *atk_focus; - AtkObject *gtk_focus; - GtkWidget *focus_widget; - GList *list, *l; - - atk_focus = atk_get_focus_object (); - - focus_widget = NULL; - list = gtk_window_list_toplevels (); - for (l = list; l; l = l->next) - { - GtkWindow *w = l->data; - if (gtk_window_is_active (w)) - { - focus_widget = gtk_window_get_focus (w); - break; - } - } - g_list_free (list); - - if (GTK_IS_WIDGET (focus_widget)) - gtk_focus = gtk_widget_get_accessible (focus_widget); - else - gtk_focus = NULL; - - if (gtk_focus != atk_focus) - g_print ("gtk focus: %s != atk focus: %s\n", - get_name (gtk_focus), get_name (atk_focus)); - - return G_SOURCE_CONTINUE; -} - -static void -notify_cb (GObject *obj, GParamSpec *pspec, gpointer data) -{ - gboolean value; - - if (g_strcmp0 (pspec->name, "has-focus") != 0) - return; - - g_object_get (obj, "has-focus", &value, NULL); - g_print ("widget %s %p has-focus -> %d\n", get_name (obj), obj, value); -} - -static void -state_change_cb (AtkObject *obj, const gchar *name, gboolean state_set) -{ - AtkStateSet *set; - - set = atk_object_ref_state_set (obj); - g_print ("accessible %s %p focused -> %d\n", get_name (obj), obj, - atk_state_set_contains_state (set, ATK_STATE_FOCUSED)); - g_object_unref (set); -} - -int -main (int argc, char *argv[]) -{ - GtkBuilder *builder; - GtkWidget *window; - GSList *o, *l; - GtkWidget *widget; - AtkObject *accessible; - - gtk_init (&argc, &argv); - - builder = gtk_builder_new (); - gtk_builder_add_from_file (builder, argv[1], NULL); - - window = (GtkWidget *)gtk_builder_get_object (builder, "window1"); - - o = gtk_builder_get_objects (builder); - for (l = o; l;l = l->next) - { - if (!GTK_IS_WIDGET (l->data)) - continue; - - widget = l->data; - g_signal_connect (widget, "notify::has-focus", G_CALLBACK (notify_cb), NULL); - accessible = gtk_widget_get_accessible (widget); - g_signal_connect (accessible, "state-change::focused", G_CALLBACK (state_change_cb), NULL); - - } - g_slist_free (o); - - g_timeout_add (100, compare_focus, NULL); - - gtk_widget_show_all (window); - - gtk_main (); - - return 0; -} - diff --git a/tests/a11y/text.c b/tests/a11y/text.c deleted file mode 100644 index c18c823643..0000000000 --- a/tests/a11y/text.c +++ /dev/null @@ -1,1045 +0,0 @@ -/* - * 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> -#include <string.h> - -static void -set_text (GtkWidget *widget, - const gchar *text) -{ - if (GTK_IS_LABEL (widget)) - gtk_label_set_text (GTK_LABEL (widget), text); - else if (GTK_IS_ENTRY (widget)) - gtk_entry_set_text (GTK_ENTRY (widget), text); - else if (GTK_IS_TEXT_VIEW (widget)) - gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)), text, -1); - else - g_assert_not_reached (); -} - -static void -test_basic (GtkWidget *widget) -{ - AtkText *atk_text; - const gchar *text = "Text goes here"; - gchar *ret; - gint count; - gunichar c; - - atk_text = ATK_TEXT (gtk_widget_get_accessible (widget)); - - set_text (widget, text); - ret = atk_text_get_text (atk_text, 5, 9); - g_assert_cmpstr (ret, ==, "goes"); - g_free (ret); - - ret = atk_text_get_text (atk_text, 0, 14); - g_assert_cmpstr (ret, ==, text); - g_free (ret); - - ret = atk_text_get_text (atk_text, 0, -1); - g_assert_cmpstr (ret, ==, text); - g_free (ret); - - count = atk_text_get_character_count (atk_text); - g_assert_cmpint (count, ==, g_utf8_strlen (text, -1)); - - c = atk_text_get_character_at_offset (atk_text, 0); - g_assert_cmpint (c, ==, 'T'); - - c = atk_text_get_character_at_offset (atk_text, 13); - g_assert_cmpint (c, ==, 'e'); -} - -typedef struct { - gint count; - gint position; - gint length; -} SignalData; - -static void -text_deleted (AtkText *atk_text, gint position, gint length, SignalData *data) -{ - data->count++; - data->position = position; - data->length = length; -} - -static void -text_inserted (AtkText *atk_text, gint position, gint length, SignalData *data) -{ - data->count++; - data->position = position; - data->length = length; -} - -static void -test_text_changed (GtkWidget *widget) -{ - AtkText *atk_text; - const gchar *text = "Text goes here"; - const gchar *text2 = "Text again"; - SignalData delete_data; - SignalData insert_data; - - atk_text = ATK_TEXT (gtk_widget_get_accessible (widget)); - - delete_data.count = 0; - insert_data.count = 0; - - g_signal_connect (atk_text, "text_changed::delete", - G_CALLBACK (text_deleted), &delete_data); - g_signal_connect (atk_text, "text_changed::insert", - G_CALLBACK (text_inserted), &insert_data); - - set_text (widget, text); - - g_assert_cmpint (delete_data.count, ==, 0); - - g_assert_cmpint (insert_data.count, ==, 1); - g_assert_cmpint (insert_data.position, ==, 0); - g_assert_cmpint (insert_data.length, ==, g_utf8_strlen (text, -1)); - - set_text (widget, text2); - - g_assert_cmpint (delete_data.count, ==, 1); - g_assert_cmpint (delete_data.position, ==, 0); - g_assert_cmpint (delete_data.length, ==, g_utf8_strlen (text, -1)); - - g_assert_cmpint (insert_data.count, ==, 2); - g_assert_cmpint (insert_data.position, ==, 0); - g_assert_cmpint (insert_data.length, ==, g_utf8_strlen (text2, -1)); - - set_text (widget, ""); - - g_assert_cmpint (delete_data.count, ==, 2); - g_assert_cmpint (delete_data.position, ==, 0); - g_assert_cmpint (delete_data.length, ==, g_utf8_strlen (text2, -1)); - - g_assert_cmpint (insert_data.count, ==, 2); - - g_signal_handlers_disconnect_by_func (atk_text, G_CALLBACK (text_deleted), &delete_data); - g_signal_handlers_disconnect_by_func (atk_text, G_CALLBACK (text_inserted), &insert_data); -} - -typedef struct { - gint gravity; - gint offset; - AtkTextBoundary boundary; - gint start; - gint end; - const gchar *word; -} Word; - -#ifdef DUMP_RESULTS -static const gchar * -boundary (AtkTextBoundary b) -{ - switch (b) - { - case ATK_TEXT_BOUNDARY_CHAR: return "ATK_TEXT_BOUNDARY_CHAR, "; - case ATK_TEXT_BOUNDARY_WORD_START: return "ATK_TEXT_BOUNDARY_WORD_START, "; - case ATK_TEXT_BOUNDARY_WORD_END: return "ATK_TEXT_BOUNDARY_WORD_END, "; - case ATK_TEXT_BOUNDARY_SENTENCE_START: return "ATK_TEXT_BOUNDARY_SENTENCE_START,"; - case ATK_TEXT_BOUNDARY_SENTENCE_END: return "ATK_TEXT_BOUNDARY_SENTENCE_END, "; - case ATK_TEXT_BOUNDARY_LINE_START: return "ATK_TEXT_BOUNDARY_LINE_START, "; - case ATK_TEXT_BOUNDARY_LINE_END: return "ATK_TEXT_BOUNDARY_LINE_END, "; - default: g_assert_not_reached (); - } -} - -static const gchar * -gravity (gint g) -{ - if (g < 0) return "before"; - else if (g > 0) return "after"; - else return "around"; -} - -const gchar * -char_rep (gunichar c) -{ - static gchar out[6]; - - switch (c) - { - case '\n': return "\\n"; - case 196: return "?"; - case 214: return "?"; - case 220: return "?"; - default: - memset (out, 0, 6); - g_unichar_to_utf8 (c, out); - return out; - } -} - -gchar * -escape (const gchar *p) -{ - GString *s; - - s = g_string_new (""); - - while (*p) - { - if (*p == '\n') - g_string_append (s, "\\n"); - else - g_string_append_c (s, *p); - p++; - } - - return g_string_free (s, FALSE); -} -#endif - -#ifdef SHOW_TEXT_ATTRIBUTES -static void -show_text_attributes (PangoLayout *l) -{ - const PangoLogAttr *attr; - gint n_attrs; - const gchar *s; - gchar e; - const gchar *p; - gint i; - const gchar *text; - GSList *lines, *li; - glong so, eo; - - printf ("\n"); - - text = pango_layout_get_text (l); - attr = pango_layout_get_log_attrs_readonly (l, &n_attrs); - - p = text; - while (*p) - { - s = char_rep (g_utf8_get_char (p)); - printf (" %s", s); - p = g_utf8_next_char (p); - } - printf ("\n"); - p = text; - i = 0; - do - { - if (*p) - s = char_rep (g_utf8_get_char (p)); - else - s = ""; - if (attr[i].is_word_start && attr[i].is_word_end) - e = '|'; - else if (attr[i].is_word_start) - e = '<'; - else if (attr[i].is_word_end) - e = '>'; - else - e = ' '; - printf ("%c%*s", e, strlen (s), ""); - if (*p) - p = g_utf8_next_char (p); - i++; - } - while (*p || i < n_attrs); - printf ("\n"); - - p = text; - i = 0; - do - { - if (*p) - s = char_rep (g_utf8_get_char (p)); - else - s = ""; - if (attr[i].is_sentence_start && attr[i].is_sentence_end) - e = '|'; - else if (attr[i].is_sentence_start) - e = '<'; - else if (attr[i].is_sentence_end) - e = '>'; - else - e = ' '; - printf ("%c%*s", e, strlen (s), ""); - if (*p) - p = g_utf8_next_char (p); - i++; - } - while (*p || i < n_attrs); - printf ("\n"); - - lines = pango_layout_get_lines_readonly (l); - p = text; - i = 0; - do - { - gboolean start, end; - - if (*p) - s = char_rep (g_utf8_get_char (p)); - else - s = ""; - start = end = FALSE; - for (li = lines; li; li = li->next) - { - PangoLayoutLine *line = li->data; - so = g_utf8_pointer_to_offset (text, text + line->start_index); - eo = g_utf8_pointer_to_offset (text, text + line->start_index + line->length); - if (so == i) - start = TRUE; - if (eo == i) - end = TRUE; - } - if (start && end) - e = '|'; - else if (start) - e = '<'; - else if (end) - e = '>'; - else - e = ' '; - printf ("%c%*s", e, strlen (s), ""); - if (*p) - p = g_utf8_next_char (p); - i++; - } - while (*p || i < n_attrs); - printf ("\n"); -} -#endif - -static void -test_words (GtkWidget *widget) -{ - AtkText *atk_text; - const gchar *text = "abc! def\nghi jkl\nmno"; - Word expected[] = { - { -1, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" }, - { -1, 2, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" }, - { -1, 3, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" }, - { -1, 4, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" }, - { -1, 5, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " }, - { -1, 6, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" }, - { -1, 7, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" }, - { -1, 8, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" }, - { -1, 9, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" }, - { -1, 10, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" }, - { -1, 11, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" }, - { -1, 12, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" }, - { -1, 13, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " }, - { -1, 14, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" }, - { -1, 15, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" }, - { -1, 16, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" }, - { -1, 17, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" }, - { -1, 18, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" }, - { -1, 19, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" }, - { -1, 20, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" }, - { -1, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" }, - { -1, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 0, "" }, - { -1, 5, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { -1, 6, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { -1, 7, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { -1, 8, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { -1, 9, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { -1, 10, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { -1, 11, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { -1, 12, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { -1, 13, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { -1, 14, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { -1, 15, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { -1, 16, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { -1, 17, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { -1, 18, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { -1, 19, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { -1, 20, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { -1, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { -1, 4, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { -1, 5, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { -1, 6, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { -1, 7, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { -1, 8, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { -1, 9, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { -1, 10, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { -1, 11, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { -1, 12, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { -1, 13, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { -1, 14, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { -1, 15, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { -1, 16, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { -1, 17, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { -1, 18, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { -1, 19, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { -1, 20, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" }, - { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 0, "" }, - { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { -1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 0, "" }, - { -1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { -1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { -1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { -1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { -1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { -1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { -1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { -1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { -1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { -1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { -1, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 0, "" }, - { -1, 9, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 10, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 11, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 12, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 13, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 14, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 15, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 16, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { -1, 17, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { -1, 18, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { -1, 19, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { -1, 20, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { -1, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 0, "" }, - { -1, 9, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 10, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 11, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 12, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 13, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 14, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 15, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 16, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { -1, 17, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { -1, 18, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { -1, 19, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { -1, 20, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 0, ATK_TEXT_BOUNDARY_CHAR, 0, 1, "a" }, - { 0, 1, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" }, - { 0, 2, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" }, - { 0, 3, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" }, - { 0, 4, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " }, - { 0, 5, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" }, - { 0, 6, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" }, - { 0, 7, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" }, - { 0, 8, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" }, - { 0, 9, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" }, - { 0, 10, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" }, - { 0, 11, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" }, - { 0, 12, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " }, - { 0, 13, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" }, - { 0, 14, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" }, - { 0, 15, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" }, - { 0, 16, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" }, - { 0, 17, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" }, - { 0, 18, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" }, - { 0, 19, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" }, - { 0, 20, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" }, - { 0, 0, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { 0, 1, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { 0, 2, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { 0, 3, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { 0, 4, ATK_TEXT_BOUNDARY_WORD_START, 0, 5, "abc! " }, - { 0, 5, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 0, 6, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 0, 7, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 0, 8, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 0, 9, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 0, 10, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 0, 11, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 0, 12, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 0, 13, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 0, 14, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 0, 15, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 0, 16, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 0, 17, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 0, 18, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 0, 19, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 0, 20, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 0, 0, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { 0, 1, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { 0, 2, ATK_TEXT_BOUNDARY_WORD_END, 0, 3, "abc" }, - { 0, 3, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 0, 4, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 0, 5, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 0, 6, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 0, 7, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 0, 8, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 0, 9, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 0, 10, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 0, 11, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 0, 12, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 0, 13, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 0, 14, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 0, 15, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 0, 16, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 0, 17, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 0, 18, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 0, 19, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 0, 20, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 0, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { 0, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { 0, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { 0, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { 0, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, 5, "abc! " }, - { 0, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 0, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 0, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 0, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 0, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 0, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 0, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 0, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 0, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 0, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { 0, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { 0, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { 0, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, 4, "abc!" }, - { 0, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 0, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 0, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 0, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 0, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 0, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 0, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 0, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 0, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 0, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 0, 0, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 1, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 2, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 3, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 4, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 5, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 6, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 7, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 8, ATK_TEXT_BOUNDARY_LINE_START, 0, 9, "abc! def\n" }, - { 0, 9, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 10, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 11, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 12, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 13, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 14, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 15, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 16, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 0, 17, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 0, 18, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 0, 19, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 0, 20, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 0, 0, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 1, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 2, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 3, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 4, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 5, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 6, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 7, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 8, ATK_TEXT_BOUNDARY_LINE_END, 0, 8, "abc! def" }, - { 0, 9, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 10, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 11, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 12, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 13, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 14, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 15, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 16, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 0, 17, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 0, 18, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 0, 19, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 0, 20, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 0, ATK_TEXT_BOUNDARY_CHAR, 1, 2, "b" }, - { 1, 1, ATK_TEXT_BOUNDARY_CHAR, 2, 3, "c" }, - { 1, 2, ATK_TEXT_BOUNDARY_CHAR, 3, 4, "!" }, - { 1, 3, ATK_TEXT_BOUNDARY_CHAR, 4, 5, " " }, - { 1, 4, ATK_TEXT_BOUNDARY_CHAR, 5, 6, "d" }, - { 1, 5, ATK_TEXT_BOUNDARY_CHAR, 6, 7, "e" }, - { 1, 6, ATK_TEXT_BOUNDARY_CHAR, 7, 8, "f" }, - { 1, 7, ATK_TEXT_BOUNDARY_CHAR, 8, 9, "\n" }, - { 1, 8, ATK_TEXT_BOUNDARY_CHAR, 9, 10, "g" }, - { 1, 9, ATK_TEXT_BOUNDARY_CHAR, 10, 11, "h" }, - { 1, 10, ATK_TEXT_BOUNDARY_CHAR, 11, 12, "i" }, - { 1, 11, ATK_TEXT_BOUNDARY_CHAR, 12, 13, " " }, - { 1, 12, ATK_TEXT_BOUNDARY_CHAR, 13, 14, "j" }, - { 1, 13, ATK_TEXT_BOUNDARY_CHAR, 14, 15, "k" }, - { 1, 14, ATK_TEXT_BOUNDARY_CHAR, 15, 16, "l" }, - { 1, 15, ATK_TEXT_BOUNDARY_CHAR, 16, 17, "\n" }, - { 1, 16, ATK_TEXT_BOUNDARY_CHAR, 17, 18, "m" }, - { 1, 17, ATK_TEXT_BOUNDARY_CHAR, 18, 19, "n" }, - { 1, 18, ATK_TEXT_BOUNDARY_CHAR, 19, 20, "o" }, - { 1, 19, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_CHAR, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 1, 1, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 1, 2, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 1, 3, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 1, 4, ATK_TEXT_BOUNDARY_WORD_START, 5, 9, "def\n" }, - { 1, 5, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 1, 6, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 1, 7, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 1, 8, ATK_TEXT_BOUNDARY_WORD_START, 9, 13, "ghi " }, - { 1, 9, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 1, 10, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 1, 11, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 1, 12, ATK_TEXT_BOUNDARY_WORD_START, 13, 17, "jkl\n" }, - { 1, 13, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 1, 14, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 1, 15, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 1, 16, ATK_TEXT_BOUNDARY_WORD_START, 17, 20, "mno" }, - { 1, 17, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_WORD_START, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 1, 1, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 1, 2, ATK_TEXT_BOUNDARY_WORD_END, 3, 8, "! def" }, - { 1, 3, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 1, 4, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 1, 5, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 1, 6, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 1, 7, ATK_TEXT_BOUNDARY_WORD_END, 8, 12, "\nghi" }, - { 1, 8, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 1, 9, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 1, 10, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 1, 11, ATK_TEXT_BOUNDARY_WORD_END, 12, 16, " jkl" }, - { 1, 12, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 1, 13, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 1, 14, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 1, 15, ATK_TEXT_BOUNDARY_WORD_END, 16, 20, "\nmno" }, - { 1, 16, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 1, 17, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_WORD_END, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 1, 1, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 1, 2, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 1, 3, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 1, 4, ATK_TEXT_BOUNDARY_SENTENCE_START, 5, 9, "def\n" }, - { 1, 5, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 1, 6, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 1, 7, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 1, 8, ATK_TEXT_BOUNDARY_SENTENCE_START, 9, 17, "ghi jkl\n" }, - { 1, 9, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 10, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 11, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 12, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 13, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 14, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 15, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 16, ATK_TEXT_BOUNDARY_SENTENCE_START, 17, 20, "mno" }, - { 1, 17, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_SENTENCE_START, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 1, 1, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 1, 2, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 1, 3, ATK_TEXT_BOUNDARY_SENTENCE_END, 4, 8, " def" }, - { 1, 4, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 1, 5, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 1, 6, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 1, 7, ATK_TEXT_BOUNDARY_SENTENCE_END, 8, 16, "\nghi jkl" }, - { 1, 8, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 9, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 10, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 11, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 12, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 13, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 14, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 15, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, 20, "\nmno" }, - { 1, 16, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 1, 17, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_SENTENCE_END, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 1, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 2, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 3, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 4, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 5, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 6, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 7, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 8, ATK_TEXT_BOUNDARY_LINE_START, 9, 17, "ghi jkl\n" }, - { 1, 9, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 10, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 11, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 12, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 13, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 14, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 15, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 16, ATK_TEXT_BOUNDARY_LINE_START, 17, 20, "mno" }, - { 1, 17, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_LINE_START, 20, 20, "" }, - { 1, 0, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 1, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 2, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 3, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 4, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 5, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 6, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 7, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 8, ATK_TEXT_BOUNDARY_LINE_END, 8, 16, "\nghi jkl" }, - { 1, 9, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 10, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 11, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 12, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 13, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 14, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 15, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 16, ATK_TEXT_BOUNDARY_LINE_END, 16, 20, "\nmno" }, - { 1, 17, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" }, - { 1, 18, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" }, - { 1, 19, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" }, - { 1, 20, ATK_TEXT_BOUNDARY_LINE_END, 20, 20, "" }, - { 0, -1, } - }; - gint start, end; - gchar *word; - gint i; - - atk_text = ATK_TEXT (gtk_widget_get_accessible (widget)); - - set_text (widget, text); -#ifdef SHOW_TEXT_ATTRIBUTES - if (GTK_IS_LABEL (widget)) - show_text_attributes (gtk_label_get_layout (GTK_LABEL (widget))); - else if (GTK_IS_ENTRY (widget)) - show_text_attributes (gtk_entry_get_layout (GTK_ENTRY (widget))); -#endif - -#ifdef DUMP_RESULTS - for (i = -1; i <= 1; i++) - { - gint j, k; - for (j = ATK_TEXT_BOUNDARY_CHAR; j <= ATK_TEXT_BOUNDARY_LINE_END; j++) - for (k = 0; k <= strlen (text); k++) - { - switch (i) - { - case -1: - word = atk_text_get_text_before_offset (atk_text, k, j, &start, &end); - break; - case 0: - word = atk_text_get_text_at_offset (atk_text, k, j, &start, &end); - break; - case 1: - word = atk_text_get_text_after_offset (atk_text, k, j, &start, &end); - break; - default: - g_assert_not_reached (); - break; - } - printf (" { %2d, %2d, %s %2d, %2d, \"%s\" },\n", i, k, boundary(j), start, end, escape (word)); - g_free (word); - } - } -#endif - - for (i = 0; expected[i].offset != -1; i++) - { - if (GTK_IS_ENTRY (widget)) - { - /* GtkEntry sets single-paragraph mode on its pango layout */ - if (expected[i].boundary == ATK_TEXT_BOUNDARY_LINE_START || - expected[i].boundary == ATK_TEXT_BOUNDARY_LINE_END) - continue; - } - - switch (expected[i].gravity) - { - case -1: - word = atk_text_get_text_before_offset (atk_text, - expected[i].offset, - expected[i].boundary, - &start, &end); - break; - case 0: - word = atk_text_get_text_at_offset (atk_text, - expected[i].offset, - expected[i].boundary, - &start, &end); - break; - case 1: - word = atk_text_get_text_after_offset (atk_text, - expected[i].offset, - expected[i].boundary, - &start, &end); - break; - default: - g_assert_not_reached (); - break; - } - - g_assert_cmpstr (word, ==, expected[i].word); - g_assert_cmpint (start, ==, expected[i].start); - g_assert_cmpint (end, ==, expected[i].end); - g_free (word); - } -} - -static void -select_region (GtkWidget *widget, - gint start, - gint end) -{ - if (GTK_IS_EDITABLE (widget)) - gtk_editable_select_region (GTK_EDITABLE (widget), start, end); - else if (GTK_IS_LABEL (widget)) - gtk_label_select_region (GTK_LABEL (widget), start, end); - else if (GTK_IS_TEXT_VIEW (widget)) - { - GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)); - GtkTextIter start_iter, end_iter; - - gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, end); - gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, start); - - gtk_text_buffer_select_range (buffer, &start_iter, &end_iter); - } - else - g_assert_not_reached (); -} - -typedef struct { - gint count; - gint position; - gint bound; -} SelectionData; - -static void -caret_moved_cb (AtkText *text, gint position, SelectionData *data) -{ - data->count++; - data->position = position; -} - -static void -selection_changed_cb (AtkText *text, SelectionData *data) -{ - data->count++; - - atk_text_get_selection (text, 0, &data->bound, &data->position); -} - -static void -test_selection (GtkWidget *widget) -{ - AtkText *atk_text; - const gchar *text = "Bla bla bla"; - gint n; - gchar *ret; - gint start, end; - SelectionData data1; - SelectionData data2; - - if (GTK_IS_LABEL (widget)) - gtk_label_set_selectable (GTK_LABEL (widget), TRUE); - - atk_text = ATK_TEXT (gtk_widget_get_accessible (widget)); - - data1.count = 0; - data2.count = 0; - g_signal_connect (atk_text, "text_caret_moved", - G_CALLBACK (caret_moved_cb), &data1); - g_signal_connect (atk_text, "text_selection_changed", - G_CALLBACK (selection_changed_cb), &data2); - - set_text (widget, text); - - n = atk_text_get_n_selections (atk_text); - g_assert_cmpint (n, ==, 0); - - if (data1.count == 1) - /* insertion before cursor */ - g_assert_cmpint (data1.position, ==, 11); - else - /* insertion after cursor */ - g_assert_cmpint (data1.count, ==, 0); - g_assert_cmpint (data2.count, ==, 0); - - select_region (widget, 4, 7); - - g_assert_cmpint (data1.count, >=, 1); - g_assert_cmpint (data1.position, ==, 7); - g_assert_cmpint (data2.count, >=, 1); - g_assert_cmpint (data2.bound, ==, 4); - g_assert_cmpint (data2.position, ==, 7); - - n = atk_text_get_n_selections (atk_text); - g_assert_cmpint (n, ==, 1); - - ret = atk_text_get_selection (atk_text, 0, &start, &end); - g_assert_cmpstr (ret, ==, "bla"); - g_assert_cmpint (start, ==, 4); - g_assert_cmpint (end, ==, 7); - g_free (ret); - - atk_text_remove_selection (atk_text, 0); - n = atk_text_get_n_selections (atk_text); - g_assert_cmpint (n, ==, 0); - - g_assert_cmpint (data1.count, >=, 1); - g_assert_cmpint (data2.count, >=, 2); - g_assert_cmpint (data2.position, ==, 7); - g_assert_cmpint (data2.bound, ==, 7); -} - -static void -setup_test (GtkWidget *widget) -{ - set_text (widget, ""); -} - -static void -add_text_test (const gchar *prefix, - GTestFixtureFunc test_func, - GtkWidget *widget) -{ - gchar *path; - - path = g_strdup_printf ("%s/%s", prefix, G_OBJECT_TYPE_NAME (widget)); - g_test_add_vtable (path, - 0, - g_object_ref (widget), - (GTestFixtureFunc) setup_test, - (GTestFixtureFunc) test_func, - (GTestFixtureFunc) g_object_unref); - g_free (path); -} - -static void -add_text_tests (GtkWidget *widget) -{ - g_object_ref_sink (widget); - add_text_test ("/text/basic", (GTestFixtureFunc) test_basic, widget); - add_text_test ("/text/words", (GTestFixtureFunc) test_words, widget); - add_text_test ("/text/changed", (GTestFixtureFunc) test_text_changed, widget); - add_text_test ("/text/selection", (GTestFixtureFunc) test_selection, widget); - g_object_unref (widget); -} - -static void -test_bold_label (void) -{ - GtkWidget *label; - AtkObject *atk_obj; - gchar *text; - - g_test_bug ("126797"); - - label = gtk_label_new ("<b>Bold?</b>"); - g_object_ref_sink (label); - - atk_obj = gtk_widget_get_accessible (label); - - text = atk_text_get_text (ATK_TEXT (atk_obj), 0, -1); - g_assert_cmpstr (text, ==, "<b>Bold?</b>"); - g_free (text); - - gtk_label_set_use_markup (GTK_LABEL (label), TRUE); - - text = atk_text_get_text (ATK_TEXT (atk_obj), 0, -1); - g_assert_cmpstr (text, ==, "Bold?"); - g_free (text); - - g_object_unref (label); -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_bug_base ("http://bugzilla.gnome.org/"); - - g_test_add_func ("/text/bold/GtkLabel", test_bold_label); - - add_text_tests (gtk_label_new ("")); - add_text_tests (gtk_entry_new ()); - add_text_tests (gtk_text_view_new ()); - - return g_test_run (); -} diff --git a/tests/a11y/text.txt b/tests/a11y/text.txt deleted file mode 100644 index a90741d98f..0000000000 --- a/tests/a11y/text.txt +++ /dev/null @@ -1,49 +0,0 @@ -window1 - "window" - index: 0 - state: enabled resizable sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: window - alpha: 1 - text1 - "text" - parent: window1 - index: 0 - state: editable enabled focusable multi-line sensitive showing visible - toolkit: gtk - <AtkComponent> - layer: widget - alpha: 1 - <AtkText> - text: Twas brillig, and the slithy toves -Did gyre and gimple in the wabe - character count: 66 - caret offset: 66 - default attributes: bg-color: <omitted> - bg-full-height: false - direction: <omitted> - editable: true - family-name: <omitted> - fg-color: <omitted> - indent: 0 - invisible: false - justification: left - language: <omitted> - left-margin: 0 - pixels-above-lines: 0 - pixels-below-lines: 0 - pixels-inside-wrap: 0 - right-margin: 0 - rise: 0 - scale: 1 - size: <omitted> - stretch: <omitted> - strikethrough: false - style: <omitted> - underline: none - variant: <omitted> - weight: <omitted> - wrap-mode: none - <AtkStreamableContent> - mime types: application/x-gtk-text-buffer-rich-text text/plain diff --git a/tests/a11y/text.ui b/tests/a11y/text.ui deleted file mode 100644 index 508efd504f..0000000000 --- a/tests/a11y/text.ui +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<interface> - <!-- interface-requires gtk+ 3.0 --> - <object class="GtkTextBuffer" id="buffer1"> - <property name="text">Twas brillig, and the slithy toves -Did gyre and gimple in the wabe</property> - </object> - <object class="GtkWindow" id="window1"> - <property name="can_focus">False</property> - <property name="type">popup</property> - <child> - <object class="GtkTextView" id="text1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="buffer">buffer1</property> - </object> - </child> - </object> -</interface> diff --git a/tests/a11y/tree-performance.c b/tests/a11y/tree-performance.c deleted file mode 100644 index b28f7a3d0d..0000000000 --- a/tests/a11y/tree-performance.c +++ /dev/null @@ -1,369 +0,0 @@ -/* - * 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> - -#define N_ROWS 10000 - -const gchar list_ui[] = - "<interface>" - " <object class='GtkListStore' id='liststore1'>" - " <columns>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gboolean'/>" - " <column type='gint'/>" - " <column type='gint'/>" - " </columns>" - " <data>" - " <row><col id='0'>One</col><col id='1'>Two</col><col id='2'>Three</col><col id='3'>True</col><col id='4'>50</col><col id='5'>50</col></row>" - " </data>" - " </object>" - " <object class='GtkWindow' id='window1'>" - " <child>" - " <object class='GtkTreeView' id='treeview1'>" - " <property name='visible'>True</property>" - " <property name='model'>liststore1</property>" - " <child>" - " <object class='GtkTreeViewColumn' id='column1'>" - " <property name='title' translatable='yes'>First column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer1'>" - " </object>" - " <attributes>" - " <attribute name='text'>0</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererToggle' id='renderer2'>" - " </object>" - " <attributes>" - " <attribute name='active'>3</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " <child>" - " <object class='GtkTreeViewColumn' id='column2'>" - " <property name='title' translatable='yes'>Second column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer3'>" - " </object>" - " <attributes>" - " <attribute name='text'>1</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererProgress' id='renderer4'>" - " </object>" - " <attributes>" - " <attribute name='value'>4</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " </object>" - " </child>" - " </object>" - "</interface>"; - -static void -walk_accessible_tree (AtkObject *accessible, - gpointer data) -{ - gint *count = data; - gint i; - - (*count)++; - - for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++) - { - AtkObject *child = atk_object_ref_accessible_child (accessible, i); - walk_accessible_tree (child, data); - g_object_unref (child); - } -} - -static GtkWidget * -builder_get_toplevel (GtkBuilder *builder) -{ - GSList *list, *walk; - GtkWidget *window = NULL; - - list = gtk_builder_get_objects (builder); - for (walk = list; walk; walk = walk->next) - { - if (GTK_IS_WINDOW (walk->data) && - gtk_widget_get_parent (walk->data) == NULL) - { - window = walk->data; - break; - } - } - - g_slist_free (list); - - return window; -} - -static void -populate_list (GtkBuilder *builder) -{ - GtkTreeView *tv; - GtkListStore *store; - GtkTreeIter iter; - gint i; - - tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1"); - store = (GtkListStore *)gtk_tree_view_get_model (tv); - - /* append a many rows */ - for (i = 0; i < N_ROWS; i++) - { - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1); - } -} - -static void -test_performance_list (void) -{ - GtkBuilder *builder; - gdouble elapsed; - GtkWidget *window; - GError *error = NULL; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, list_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - gtk_widget_show (window); - - g_test_timer_start (); - - populate_list (builder); - - elapsed = g_test_timer_elapsed (); - g_test_minimized_result (elapsed, "large list test: %gsec", elapsed); - g_object_unref (builder); -} - -static void -test_a11y_performance_list (void) -{ - GtkBuilder *builder; - gdouble elapsed; - GtkWidget *window; - GError *error = NULL; - gint count_before; - gint count_after; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, list_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - gtk_widget_show (window); - - g_test_timer_start (); - - /* make sure all accessibles exist */ - count_before = 0; - walk_accessible_tree (gtk_widget_get_accessible (window), &count_before); - - populate_list (builder); - - /* for good measure, do this again */ - count_after = 0; - walk_accessible_tree (gtk_widget_get_accessible (window), &count_after); - - elapsed = g_test_timer_elapsed (); - g_test_minimized_result (elapsed, "large list with a11y: %gsec", elapsed); - g_object_unref (builder); - - g_test_message ("%d accessibles before, %d after\n", count_before, count_after); -} - -const gchar tree_ui[] = - "<interface>" - " <object class='GtkTreeStore' id='treestore1'>" - " <columns>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gboolean'/>" - " <column type='gint'/>" - " <column type='gint'/>" - " </columns>" - " </object>" - " <object class='GtkWindow' id='window1'>" - " <child>" - " <object class='GtkTreeView' id='treeview1'>" - " <property name='visible'>True</property>" - " <property name='model'>treestore1</property>" - " <child>" - " <object class='GtkTreeViewColumn' id='column1'>" - " <property name='title' translatable='yes'>First column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer1'>" - " </object>" - " <attributes>" - " <attribute name='text'>0</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererToggle' id='renderer2'>" - " </object>" - " <attributes>" - " <attribute name='active'>3</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " <child>" - " <object class='GtkTreeViewColumn' id='column2'>" - " <property name='title' translatable='yes'>Second column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer3'>" - " </object>" - " <attributes>" - " <attribute name='text'>1</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererProgress' id='renderer4'>" - " </object>" - " <attributes>" - " <attribute name='value'>4</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " </object>" - " </child>" - " </object>" - "</interface>"; - -static void -populate_tree (GtkBuilder *builder) -{ - GtkTreeView *tv; - GtkTreeStore *store; - GtkTreeIter iter; - gint i; - - tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1"); - store = (GtkTreeStore *)gtk_tree_view_get_model (tv); - - /* append a thousand rows */ - for (i = 0; i < N_ROWS / 3; i++) - { - gtk_tree_store_append (store, &iter, NULL); - gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "Bla", 1, "Bla bla", 2, "Bla bla bla", 3, i % 2 == 0 ? TRUE : FALSE, 4, i % 100, 5, i, -1); - } - - gtk_tree_view_expand_all (tv); -} - -static void -test_performance_tree (void) -{ - GtkBuilder *builder; - gdouble elapsed; - GtkWidget *window; - GError *error = NULL; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, tree_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - gtk_widget_show (window); - - g_test_timer_start (); - - populate_tree (builder); - - elapsed = g_test_timer_elapsed (); - g_test_minimized_result (elapsed, "large tree test: %gsec", elapsed); - g_object_unref (builder); -} - -static void -test_a11y_performance_tree (void) -{ - GtkBuilder *builder; - gdouble elapsed; - GtkWidget *window; - GError *error = NULL; - gint count_before; - gint count_after; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, tree_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - gtk_widget_show (window); - - g_test_timer_start (); - - /* make sure all accessibles exist */ - count_before = 0; - walk_accessible_tree (gtk_widget_get_accessible (window), &count_before); - - populate_tree (builder); - - /* for good measure, do this again */ - count_after = 0; - walk_accessible_tree (gtk_widget_get_accessible (window), &count_after); - - elapsed = g_test_timer_elapsed (); - g_test_minimized_result (elapsed, "large tree with a11y: %gsec", elapsed); - g_object_unref (builder); - - g_test_message ("%d accessibles before, %d after\n", count_before, count_after); -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - if (!g_test_perf ()) - return 0; - - g_test_add_func ("/performance/list", test_performance_list); - g_test_add_func ("/a11y/performance/list", test_a11y_performance_list); - g_test_add_func ("/performance/tree", test_performance_tree); - g_test_add_func ("/a11y/performance/tree", test_a11y_performance_tree); - - return g_test_run (); -} diff --git a/tests/a11y/tree-relationships.c b/tests/a11y/tree-relationships.c deleted file mode 100644 index 34f45b690a..0000000000 --- a/tests/a11y/tree-relationships.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Copyright (C) 2011 SUSE Linux Products GmbH, Nurenberg, Germany - * - * Author: - * Mike Gorse <mgorse@suse.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> - -const gchar list_ui[] = - "<interface>" - " <object class='GtkListStore' id='liststore1'>" - " <columns>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gboolean'/>" - " <column type='gint'/>" - " <column type='gint'/>" - " </columns>" - " <data>" - " <row><col id='0'>One</col><col id='1'>Two</col><col id='2'>Three</col><col id='3'>True</col><col id='4'>50</col><col id='5'>50</col></row>" - " </data>" - " </object>" - " <object class='GtkWindow' id='window1'>" - " <child>" - " <object class='GtkTreeView' id='treeview1'>" - " <property name='visible'>True</property>" - " <property name='model'>liststore1</property>" - " <child>" - " <object class='GtkTreeViewColumn' id='column1'>" - " <property name='title' translatable='yes'>First column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer1'>" - " </object>" - " <attributes>" - " <attribute name='text'>0</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererToggle' id='renderer2'>" - " </object>" - " <attributes>" - " <attribute name='active'>3</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " <child>" - " <object class='GtkTreeViewColumn' id='column2'>" - " <property name='title' translatable='yes'>Second column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer3'>" - " </object>" - " <attributes>" - " <attribute name='text'>1</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererProgress' id='renderer4'>" - " </object>" - " <attributes>" - " <attribute name='value'>4</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " </object>" - " </child>" - " </object>" - "</interface>"; - -static GtkWidget * -builder_get_toplevel (GtkBuilder *builder) -{ - GSList *list, *walk; - GtkWidget *window = NULL; - - list = gtk_builder_get_objects (builder); - for (walk = list; walk; walk = walk->next) - { - if (GTK_IS_WINDOW (walk->data) && - gtk_widget_get_parent (walk->data) == NULL) - { - window = walk->data; - break; - } - } - - g_slist_free (list); - - return window; -} - -const gchar tree_ui[] = - "<interface>" - " <object class='GtkTreeStore' id='treestore1'>" - " <columns>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gchararray'/>" - " <column type='gboolean'/>" - " <column type='gint'/>" - " <column type='gint'/>" - " </columns>" - " </object>" - " <object class='GtkWindow' id='window1'>" - " <child>" - " <object class='GtkTreeView' id='treeview1'>" - " <property name='visible'>True</property>" - " <property name='model'>treestore1</property>" - " <child>" - " <object class='GtkTreeViewColumn' id='column1'>" - " <property name='title' translatable='yes'>First column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer1'>" - " </object>" - " <attributes>" - " <attribute name='text'>0</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererToggle' id='renderer2'>" - " </object>" - " <attributes>" - " <attribute name='active'>3</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " <child>" - " <object class='GtkTreeViewColumn' id='column2'>" - " <property name='title' translatable='yes'>Second column</property>" - " <child>" - " <object class='GtkCellRendererText' id='renderer3'>" - " </object>" - " <attributes>" - " <attribute name='text'>1</attribute>" - " </attributes>" - " </child>" - " <child>" - " <object class='GtkCellRendererProgress' id='renderer4'>" - " </object>" - " <attributes>" - " <attribute name='value'>4</attribute>" - " </attributes>" - " </child>" - " </object>" - " </child>" - " </object>" - " </child>" - " </object>" - "</interface>"; - -static void -populate_tree (GtkBuilder *builder) -{ - GtkTreeView *tv; - GtkTreeStore *store; - GtkTreeIter iter; - - tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1"); - store = (GtkTreeStore *)gtk_tree_view_get_model (tv); - - /* append some rows */ - gtk_tree_store_append (store, &iter, NULL); - gtk_tree_store_set (store, &iter, 0, "a(1)", 1, "a(2)", 2, "a(3)", 3, TRUE, 4, 0, 5, 0, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "aa(1)", 1, "aa(2)", 2, "aa(3)", 3, TRUE, 4, 0, 5, 0, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "aaa(1)", 1, "aaa(2)", 2, "aaa(3)", 3, TRUE, 4, 0, 5, 0, -1); - - gtk_tree_store_append (store, &iter, NULL); - gtk_tree_store_set (store, &iter, 0, "b(1)", 1, "b(2)", 2, "b(3)", 3, TRUE, 4, 0, 5, 0, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "bb(1)", 1, "bb(2)", 2, "bb(3)", 3, TRUE, 4, 0, 5, 0, -1); - gtk_tree_store_append (store, &iter, &iter); - gtk_tree_store_set (store, &iter, 0, "bbb(1)", 1, "bbb(2)", 2, "bbb(3)", 3, TRUE, 4, 0, 5, 0, -1); -} - -typedef struct { - gint count; - AtkObject *descendant; -} SignalData; - -static void -active_descendant_changed (AtkObject *accessible, - AtkObject *descendant, - SignalData *data) -{ - data->count++; - if (data->descendant) - g_object_unref (data->descendant); - data->descendant = g_object_ref (descendant); -} - -static gboolean -quit_loop (gpointer data) -{ - GMainLoop *loop = data; - g_main_loop_quit (loop); - return FALSE; -} - -static void -process_pending_idles () -{ - GMainLoop *loop = g_main_loop_new (NULL, FALSE); - gdk_threads_add_idle (quit_loop, loop); - g_main_loop_run (loop); -} - -static void -test_a11y_tree_focus (void) -{ - GtkBuilder *builder; - GtkWidget *window; - GError *error = NULL; - GtkTreeView *tv; - GtkTreePath *path = NULL; - GtkTreeViewColumn *focus_column = NULL; - SignalData data; - AtkObject *accessible; - AtkObject *child; - gchar *text; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, tree_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - populate_tree (builder); - - tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1"); - gtk_tree_view_expand_all (tv); - - gtk_widget_show (window); - - gtk_tree_view_get_cursor (tv, &path, &focus_column); - gtk_tree_path_down (path); - data.count = 0; - data.descendant = NULL; - accessible = gtk_widget_get_accessible (GTK_WIDGET (tv)); - g_signal_connect (accessible, "active_descendant_changed", - G_CALLBACK (active_descendant_changed), &data); - gtk_tree_view_set_cursor (tv, path, focus_column, FALSE); - /* hack: active_descendant_change gets fired in an idle handler */ - process_pending_idles (); - /* Getting only one signal might be ideal, although we get three or so */ - g_assert_cmpint (data.count, >=, 1); - child = atk_object_ref_accessible_child (data.descendant, 0); - text = atk_text_get_text (ATK_TEXT (child), 0, -1); - g_assert_cmpstr (text, ==, "aa(1)"); - g_free (text); - - g_object_unref (child); - - g_object_unref (data.descendant); - g_object_unref (builder); - -} - -static AtkObject * -find_root_accessible (GtkTreeView *tv, const char *name) -{ - AtkObject *tvaccessible = gtk_widget_get_accessible (GTK_WIDGET (tv)); - int i = 0; - - for (i = 0;;i++) - { - AtkObject *child = atk_object_ref_accessible_child (tvaccessible, i); - AtkObject *item; - gchar *text; - if (!child) - return NULL; - item = atk_object_ref_accessible_child (child, 0); - if (!item) - continue; - text = atk_text_get_text (ATK_TEXT (item), 0, -1); - g_object_unref (item); - if (!g_strcmp0 (text, name)) - { - g_free (text); - return child; - } - g_free (text); - g_object_unref (child); - } -} - -static void -test_node_child_of (AtkObject *child, AtkObject *parent) -{ - AtkRelationSet *set = atk_object_ref_relation_set (child); - AtkRelation *relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_NODE_CHILD_OF); - - g_assert (relation != NULL); - g_assert_cmpint (relation->target->len, ==, 1); - g_assert (g_ptr_array_index (relation->target, 0) == parent); - g_object_unref (set); -} - -static void -test_node_parent_of (AtkObject *parent, AtkObject *child) -{ - AtkRelationSet *set = atk_object_ref_relation_set (parent); - AtkRelation *relation = atk_relation_set_get_relation_by_type (set, ATK_RELATION_NODE_PARENT_OF); - - g_assert (relation != NULL); - g_assert_cmpint (relation->target->len, ==, 1); - g_assert (g_ptr_array_index (relation->target, 0) == child); - g_object_unref (set); -} - -static void -test_relations (AtkObject *parent, AtkObject *child) -{ - test_node_parent_of (parent, child); - test_node_child_of (child, parent); -} - -static void -test_a11y_tree_relations (void) -{ - GtkBuilder *builder; - GtkWidget *window; - GError *error = NULL; - GtkTreeView *tv; - AtkObject *parent, *child; - - builder = gtk_builder_new (); - gtk_builder_add_from_string (builder, tree_ui, -1, &error); - g_assert_no_error (error); - window = builder_get_toplevel (builder); - g_assert (window); - - populate_tree (builder); - - tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1"); - gtk_tree_view_expand_all (tv); - - gtk_widget_show (window); - - parent = find_root_accessible (tv, "a(1)"); -child = find_root_accessible (tv, "aa(1)"); - test_relations (parent, child); - g_object_unref (parent); - parent = child; -child = find_root_accessible (tv, "aaa(1)"); - test_relations (parent, child); - g_object_unref (parent); - g_object_unref (child); - - g_object_unref (builder); - -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_add_func ("/a11y/tree/focus", test_a11y_tree_focus); - g_test_add_func ("/a11y/tree/relations", test_a11y_tree_relations); - - return g_test_run (); -} - diff --git a/tests/a11y/util.c b/tests/a11y/util.c deleted file mode 100644 index 906c98b9e0..0000000000 --- a/tests/a11y/util.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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_toolkit_name (void) -{ - const gchar *s; - - s = atk_get_toolkit_name (); - g_assert_cmpstr (s, ==, "gtk"); -} - -static void -test_toolkit_version (void) -{ - const gchar *s; - - s = atk_get_toolkit_version (); - g_assert_cmpstr (s, ==, GTK_VERSION); -} - -static void -test_root (void) -{ - AtkObject *obj; - - obj = atk_get_root (); - - g_assert (atk_object_get_role (obj) == ATK_ROLE_APPLICATION); - g_assert (atk_object_get_parent (obj) == NULL); -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_add_func ("/util/toolkit-name", test_toolkit_name); - g_test_add_func ("/util/toolkit-version", test_toolkit_version); - g_test_add_func ("/util/root", test_root); - - return g_test_run (); -} diff --git a/tests/a11y/value.c b/tests/a11y/value.c deleted file mode 100644 index af50a3688e..0000000000 --- a/tests/a11y/value.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2011 Red Hat Inc. - * Copyright (C) 2012 SUSE LLC. - * - * Author: - * Mike Gorse <mgorse@suse.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> -#include <string.h> - -static void -set_value (GtkWidget *widget, - gint value) -{ - if (GTK_IS_LEVEL_BAR (widget)) - gtk_level_bar_set_value (GTK_LEVEL_BAR (widget), value); - else if (GTK_IS_RANGE (widget)) - { - GtkAdjustment *adjustment = gtk_range_get_adjustment (GTK_RANGE (widget)); - gtk_adjustment_set_value (adjustment, value); - } - else if (GTK_IS_SPIN_BUTTON (widget)) - { - GtkAdjustment *adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget)); - gtk_adjustment_set_value (adjustment, value); - } -} - -typedef struct -{ - gint count; - gchar *last_name; -} NotifyData; - -static void -notify_cb (GObject *obj, - GParamSpec *pspec, NotifyData *data) -{ - data->count++; - if (data->last_name) - g_free (data->last_name); - data->last_name = g_strdup (pspec->name); -} - -static void -test_basic (GtkWidget *widget) -{ - NotifyData notify_data; - AtkObject *atk_object; - AtkValue *atk_value; - gdouble value = 50; - GValue ret; - - atk_object = gtk_widget_get_accessible (widget); - atk_value = ATK_VALUE (atk_object); - - memset (¬ify_data, 0, sizeof (notify_data)); - g_signal_connect (atk_object, "notify", G_CALLBACK (notify_cb), ¬ify_data); - set_value (widget, value); - g_assert_cmpint (notify_data.count, ==, 1); - g_assert_cmpstr (notify_data.last_name, ==, "accessible-value"); - - memset (&ret, 0, sizeof (ret)); - atk_value_get_current_value (atk_value, &ret); - g_assert_cmpfloat (g_value_get_double (&ret), ==, value); - - g_free (notify_data.last_name); - g_signal_handlers_disconnect_by_func (atk_object, G_CALLBACK (notify_cb), ¬ify_data); -} - -static void -setup_test (GtkWidget *widget) -{ - set_value (widget, 0); -} - -static void -add_value_test (const gchar *prefix, - GTestFixtureFunc test_func, - GtkWidget *widget) -{ - gchar *path; - - path = g_strdup_printf ("%s/%s", prefix, G_OBJECT_TYPE_NAME (widget)); - g_test_add_vtable (path, - 0, - g_object_ref (widget), - (GTestFixtureFunc) setup_test, - (GTestFixtureFunc) test_func, - (GTestFixtureFunc) g_object_unref); - g_free (path); -} - -static void -add_value_tests (GtkWidget *widget) -{ - g_object_ref_sink (widget); - add_value_test ("/value/basic", (GTestFixtureFunc) test_basic, widget); - g_object_unref (widget); -} - -int -main (int argc, char *argv[]) -{ - gtk_test_init (&argc, &argv, NULL); - - g_test_bug_base ("http://bugzilla.gnome.org/"); - - add_value_tests (gtk_spin_button_new_with_range (0, 100, 1)); - add_value_tests (gtk_level_bar_new_for_interval (0, 100)); - - return g_test_run (); -} |