Testing

Testing — test utilities

Synopsis


#include <gdk/gdk.h>

void                gdk_test_render_sync                (GdkWindow *window);
gboolean            gdk_test_simulate_button            (GdkWindow *window,
                                                         gint x,
                                                         gint y,
                                                         guint button,
                                                         GdkModifierType modifiers,
                                                         GdkEventType button_pressrelease);
gboolean            gdk_test_simulate_key               (GdkWindow *window,
                                                         gint x,
                                                         gint y,
                                                         guint keyval,
                                                         GdkModifierType modifiers,
                                                         GdkEventType key_pressrelease);

Description

The functions in this section are intended to be used in test programs. They allow to simulate some user input.

Details

gdk_test_render_sync ()

void                gdk_test_render_sync                (GdkWindow *window);

This function retrieves a pixel from window to force the windowing system to carry out any pending rendering commands. This function is intended to be used to syncronize with rendering pipelines, to benchmark windowing system rendering operations.

window : a mapped GdkWindow

Since 2.14


gdk_test_simulate_button ()

gboolean            gdk_test_simulate_button            (GdkWindow *window,
                                                         gint x,
                                                         gint y,
                                                         guint button,
                                                         GdkModifierType modifiers,
                                                         GdkEventType button_pressrelease);

This function is intended to be used in GTK+ test programs. It will warp the mouse pointer to the given (x,y) corrdinates within window and simulate a button press or release event. Because the mouse pointer needs to be warped to the target location, use of this function outside of test programs that run in their own virtual windowing system (e.g. Xvfb) is not recommended.

Also, gtk_test_simulate_button() is a fairly low level function, for most testing purposes, gtk_test_widget_click() is the right function to call which will generate a button press event followed by its accompanying button release event.

window : a GdkWindow to simulate a button event for.
x : x coordinate within window for the button event.
y : y coordinate within window for the button event.
button : Number of the pointer button for the event, usually 1, 2 or 3.
modifiers : Keyboard modifiers the event is setup with.
button_pressrelease : either GDK_BUTTON_PRESS or GDK_BUTTON_RELEASE
Returns : wether all actions neccessary for a button event simulation were carried out successfully.

Since 2.14


gdk_test_simulate_key ()

gboolean            gdk_test_simulate_key               (GdkWindow *window,
                                                         gint x,
                                                         gint y,
                                                         guint keyval,
                                                         GdkModifierType modifiers,
                                                         GdkEventType key_pressrelease);

This function is intended to be used in GTK+ test programs. If (x,y) are > (-1,-1), it will warp the mouse pointer to the given (x,y) corrdinates within window and simulate a key press or release event.

When the mouse pointer is warped to the target location, use of this function outside of test programs that run in their own virtual windowing system (e.g. Xvfb) is not recommended. If (x,y) are passed as (-1,-1), the mouse pointer will not be warped and window origin will be used as mouse pointer location for the event.

Also, gtk_test_simulate_key() is a fairly low level function, for most testing purposes, gtk_test_widget_send_key() is the right function to call which will generate a key press event followed by its accompanying key release event.

window : a GdkWindow to simulate a key event for.
x : x coordinate within window for the key event.
y : y coordinate within window for the key event.
keyval : A GDK keyboard value.
modifiers : Keyboard modifiers the event is setup with.
key_pressrelease : either GDK_KEY_PRESS or GDK_KEY_RELEASE
Returns : wether all actions neccessary for a key event simulation were carried out successfully.

Since 2.14