Blame modules/other/gail/tests/README

Packit Service fb6fa5
Packit Service fb6fa5
============================
Packit Service fb6fa5
GAIL README
Packit Service fb6fa5
Last Updated: August 2, 2001
Packit Service fb6fa5
============================
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
General Info
Packit Service fb6fa5
============
Packit Service fb6fa5
Packit Service fb6fa5
This README describes how to use the various test programs
Packit Service fb6fa5
in the gail/tests directory.
Packit Service fb6fa5
Packit Service fb6fa5
To run the various test programs described in this README,
Packit Service fb6fa5
the test libraries must be built and installed.  Running
Packit Service fb6fa5
"make", then "make install" in the gail top-level directory
Packit Service fb6fa5
will take care of this.  Then do the following:
Packit Service fb6fa5
Packit Service fb6fa5
1. Set the environment variable GTK_MODULES to
Packit Service fb6fa5
   "libgail:lib<testname>"
Packit Service fb6fa5
Packit Service fb6fa5
   For example, for ferret, it would be "libgail:libferret"
Packit Service fb6fa5
Packit Service fb6fa5
2. Run the GTK+ test program specified.  These test programs
Packit Service fb6fa5
   are found in the GTK+ build directory in the subdirectory
Packit Service fb6fa5
   called "tests".
Packit Service fb6fa5
Packit Service fb6fa5
Most test programs will display output directly to the 
Packit Service fb6fa5
terminal window where the GTK+ test program was launched.
Packit Service fb6fa5
Some test programs (testtable and testtext) will launch a
Packit Service fb6fa5
test GUI program which allows more interactive testing.
Packit Service fb6fa5
Packit Service fb6fa5
The test GUI has two windows.  The first window is the
Packit Service fb6fa5
"Test Control" window and the second window is the
Packit Service fb6fa5
"Test Output" window.  In the "Test Control" window,
Packit Service fb6fa5
press the button(s) that corresponds to the tests to run
Packit Service fb6fa5
and press the "Run Tests" button at the bottom of the
Packit Service fb6fa5
screen.  Some tests have associated text entry fields
Packit Service fb6fa5
which become active when the button is toggled on.  These
Packit Service fb6fa5
text entry fields correspond to arguments that affect how
Packit Service fb6fa5
the test is executed.  They are pre-filled with default
Packit Service fb6fa5
values but the user can change them if desired.  The
Packit Service fb6fa5
output from the tests is displayed in the "Test Output"
Packit Service fb6fa5
window.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testlib
Packit Service fb6fa5
=======
Packit Service fb6fa5
Packit Service fb6fa5
Contains general purpose functionality that is used by the
Packit Service fb6fa5
various tests.  These include functions that find a specific
Packit Service fb6fa5
widget/AtkObject in the test program, and functions used by
Packit Service fb6fa5
tests that use the Gail Test GUI.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
ferret
Packit Service fb6fa5
======
Packit Service fb6fa5
Packit Service fb6fa5
Ferret is a passive in-process test tool for ATK and GAIL.
Packit Service fb6fa5
Packit Service fb6fa5
Run a GTK+-2.0 application such as "testgtk", and ferret will
Packit Service fb6fa5
display a window on screen.   In this window accessibility
Packit Service fb6fa5
information about the GTK+ widgets will appear as they
Packit Service fb6fa5
receive focus.
Packit Service fb6fa5
Packit Service fb6fa5
The ferret window has several tabs, one for each of the
Packit Service fb6fa5
following ATK interfaces.
Packit Service fb6fa5
Packit Service fb6fa5
  Object
Packit Service fb6fa5
  Action
Packit Service fb6fa5
  Component
Packit Service fb6fa5
  Image
Packit Service fb6fa5
  Table
Packit Service fb6fa5
  Text
Packit Service fb6fa5
  Value
Packit Service fb6fa5
Packit Service fb6fa5
Tabs that do not apply to the current widget in focus will be
Packit Service fb6fa5
displayed as inactive.  Clicking on an active tab will display
Packit Service fb6fa5
information about the AtkObject accessed via the ATK API.  In the
Packit Service fb6fa5
Action tab the various actions are displayed as buttons.  When
Packit Service fb6fa5
a button is clicked, the action specified on the button's
Packit Service fb6fa5
label is performed.
Packit Service fb6fa5
Packit Service fb6fa5
If you have installed the "festival" speech synthesis system,
Packit Service fb6fa5
running festival in server mode (festival --server) and turning
Packit Service fb6fa5
on Ferret's Festival support will cause the following to happen:
Packit Service fb6fa5
Packit Service fb6fa5
1. AtkObject accessible names, roles, and keybindings will be
Packit Service fb6fa5
   spoken as they receive focus.
Packit Service fb6fa5
2. When the caret (cursor) is moved in a text field, the 
Packit Service fb6fa5
   current line will be spoken, unless the caret is moved
Packit Service fb6fa5
   just a single character.  In the later case, only the
Packit Service fb6fa5
   single character after the caret will be spoken.
Packit Service fb6fa5
Packit Service fb6fa5
Festival support can be turned on by checking "Festival" in the
Packit Service fb6fa5
menu, or by setting the environment variable FERRET_FESTIVAL
Packit Service fb6fa5
prior to starting the test.  By checking "Festival Terse" or
Packit Service fb6fa5
by setting the environment variable FERRET_TERSE, only the
Packit Service fb6fa5
name of the AtkObject will be spoken (and not the roles and
Packit Service fb6fa5
keybindings).
Packit Service fb6fa5
Packit Service fb6fa5
A magnifier can be turned on to enlarge the widget in focus
Packit Service fb6fa5
by checking "Magnifier" in the menu, or by setting the
Packit Service fb6fa5
environment variable FERRET_MAGNIFIER.  This requires that
Packit Service fb6fa5
the magnifier standalone code is running.
Packit Service fb6fa5
Packit Service fb6fa5
Checking "Track Mouse in the menu or by setting the environment
Packit Service fb6fa5
variable FERRET_MOUSETRACK causes ferret to display information
Packit Service fb6fa5
about the widget that is under the mouse rather than the widget
Packit Service fb6fa5
that has focus.  The mouse is tracked via GtkWidget
Packit Service fb6fa5
"enter_notify_event" signals, so flyweight objects are not tracked.
Packit Service fb6fa5
Packit Service fb6fa5
Checking "Terminal Output" in the menu or by setting the 
Packit Service fb6fa5
environment variable FERRET_ASCII will display the information
Packit Service fb6fa5
that is normally displayed to the ferret GUI window to the
Packit Service fb6fa5
terminal screen.
Packit Service fb6fa5
Packit Service fb6fa5
Checking "No ATK Signals" in the menu or by setting the
Packit Service fb6fa5
environment variable FERRET_NOSIGNALS will cause ferret to
Packit Service fb6fa5
ignore any ATK signals, and it will not update its display
Packit Service fb6fa5
when such signals occur.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testaction
Packit Service fb6fa5
==========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface AtkAction, except for atk_action_do_action() in the GAIL 
Packit Service fb6fa5
library. It is normally used with the GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testbutton
Packit Service fb6fa5
==========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the accessible implementation 
Packit Service fb6fa5
for buttons. It is normally used with the GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NAME environment variable to have the test
Packit Service fb6fa5
driver attach to a widget by widget name (compared via the 
Packit Service fb6fa5
gtk_widget_get_name function call).
Packit Service fb6fa5
Packit Service fb6fa5
Set the environment variable TEST_ACCESSIBLE_AUTO and the program
Packit Service fb6fa5
will execute the action defined for a GailButton once.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testcombo
Packit Service fb6fa5
=========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK action
Packit Service fb6fa5
interfaces on GailCombo. It is normally used with the GTK+ test program 
Packit Service fb6fa5
testgtk by putting the focus in the GtkCombo in entry window.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testcomponent
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface AtkComponent in the GAIL library. It is normally used with the 
Packit Service fb6fa5
GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testimage
Packit Service fb6fa5
=========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface AtkImage in the GAIL library. It is normally used with the GTK+
Packit Service fb6fa5
test program testgtk, but can also be used with testdnd when you want
Packit Service fb6fa5
to test GtkPixmap. This modules pops up an extra dialog on startup , containing
Packit Service fb6fa5
GtkArrows and a GtkImage. This dialog has to be closed before control is returned to main window.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testmenuitem
Packit Service fb6fa5
============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the accessible implementation 
Packit Service fb6fa5
for menu items. It is normally used with the GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NAME environment variable to have the test
Packit Service fb6fa5
driver attach to a widget by widget name (compared via the 
Packit Service fb6fa5
gtk_widget_get_name function call).
Packit Service fb6fa5
Packit Service fb6fa5
Set the environment variable TEST_ACCESSIBLE_AUTO and the program
Packit Service fb6fa5
will execute the action defined for a GailButton once.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testnotebook
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface AtkSelection for GailNotebook. It is normally used with the 
Packit Service fb6fa5
GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testobject
Packit Service fb6fa5
==========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface in atkobject.h in the GAIL library. It is normally used with the 
Packit Service fb6fa5
GTK+ test program testgtk.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testoptionmenu
Packit Service fb6fa5
==============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK interfaces
Packit Service fb6fa5
for GtkOptionmenu. It should be used with the GTK+ test program testgtk and
Packit Service fb6fa5
its file selection dialog.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testpaned
Packit Service fb6fa5
=========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the ATK
Packit Service fb6fa5
interface AtkValue for GailPaned. It is normally used with the 
Packit Service fb6fa5
GTK+ test program testgtk. It checks the setting of the position 
Packit Service fb6fa5
programmatically and that notification is received if the position
Packit Service fb6fa5
is changed interactively.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testprops
Packit Service fb6fa5
==========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of ATK properties 
Packit Service fb6fa5
and property change handlers in the GAIL library. It is normally used with 
Packit Service fb6fa5
the GTK+ test program testgtk. To see the changing of the state
Packit Service fb6fa5
ATK_STATE_SHOWING use menus in "progress bar". To see the changing of the
Packit Service fb6fa5
state ATK_STATE_SENSITIVE uses "labels". To see changing of child and parent
Packit Service fb6fa5
use resize check box in "panes".
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NAME environment variable to have the test
Packit Service fb6fa5
driver attach to a widget by widget name (compared via the 
Packit Service fb6fa5
gtk_widget_get_name function call).
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testselection
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of the AtkSelection
Packit Service fb6fa5
interface works for the GAIL library. It is normally used with the GTK+ 
Packit Service fb6fa5
test program testgtk and clicking on the menus option. It can also be used
Packit Service fb6fa5
with the GtkCombo which can be accessed by clicking on the entry option.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
teststatusbar
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test that the text on the statusbar
Packit Service fb6fa5
can be retrieved using GailStatusbar. It is normally used with the GTK+ 
Packit Service fb6fa5
test program testgtk and clicking on statusbar button.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testtable
Packit Service fb6fa5
=========
Packit Service fb6fa5
Packit Service fb6fa5
This is GTK+ module used to test the implementation of AtkTable
Packit Service fb6fa5
interfaces.  It can be used with GailTreeView, for example.  It
Packit Service fb6fa5
can be used with any of the following GTK+ test programs:
Packit Service fb6fa5
testtreecolumns, testtreefocus, testtreesort, testtreeview,
Packit Service fb6fa5
or treestoretest.
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NO_PROPERTIES environment variable
Packit Service fb6fa5
to not receive information about property values changing
Packit Service fb6fa5
(like cell state changes).
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NO_GUI environment variable to run the
Packit Service fb6fa5
test without the GUI program.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testtext
Packit Service fb6fa5
========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of AtkText and 
Packit Service fb6fa5
AtkEditableText interfaces on GailTextView.  It is normally used with 
Packit Service fb6fa5
the GTK+ test program testtext started with a text file loaded.
Packit Service fb6fa5
It can also be used with the GTK+ test program testgtk, and then
Packit Service fb6fa5
click on the "entry" or "label" button.
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_NAME environment variable to have the test
Packit Service fb6fa5
driver attach to a widget by widget name (compared via the 
Packit Service fb6fa5
gtk_widget_get_name function call).
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_DELAY environment variable to an integer
Packit Service fb6fa5
and the test driver will attach to only a widget on the nth screen
Packit Service fb6fa5
that is displayed.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testtoplevel
Packit Service fb6fa5
============
Packit Service fb6fa5
Packit Service fb6fa5
This test exercises the AtkUtil functions.  It accesses the
Packit Service fb6fa5
atk_get_root() toplevel object, sets/removes global listeners,
Packit Service fb6fa5
and displays the ATK implementation name/version.
Packit Service fb6fa5
Packit Service fb6fa5
Set the TEST_ACCESSIBLE_DEPTH environment variable to control
Packit Service fb6fa5
how deep the children of the toplevel object are displayed.
Packit Service fb6fa5
The default is a depth of 2.  Specifying a depth of -1 will
Packit Service fb6fa5
show the complete hierarchy.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
testvalues
Packit Service fb6fa5
==========
Packit Service fb6fa5
Packit Service fb6fa5
This is a GTK+ module used to test the implementation of AtkValue interface
Packit Service fb6fa5
works for the GAIL library. GailProgressbar, GailSpinbutton and GailRange
Packit Service fb6fa5
can all be tested using this module.
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
GAIL README Authors
Packit Service fb6fa5
===================
Packit Service fb6fa5
Packit Service fb6fa5
-Brian Cameron (brian.cameron@sun.com)
Packit Service fb6fa5
-Bill Haneman (bill.haneman@sun.com)
Packit Service fb6fa5
-Padraig O'Briain (padraig.obriain@sun.com)
Packit Service fb6fa5