Spec-Zone.ru › GTK 3.22

Тестирование

Тестирование — Утилиты для тестирования приложений GTK+

Функции

GtkWidget * gtk_test_create_simple_window ()
GtkWidget * gtk_test_create_widget ()
GtkWidget * gtk_test_display_button_window ()
GtkWidget * gtk_test_find_label ()
GtkWidget * gtk_test_find_sibling ()
GtkWidget * gtk_test_find_widget ()
void gtk_test_init ()
const GType * gtk_test_list_all_types ()
void gtk_test_register_all_types ()
double gtk_test_slider_get_value ()
void gtk_test_slider_set_perc ()
gboolean gtk_test_spin_button_click ()
gchar * gtk_test_text_get ()
void gtk_test_text_set ()
gboolean gtk_test_widget_click ()
gboolean gtk_test_widget_send_key ()
void gtk_test_widget_wait_for_draw ()

Файлы заголовков

#include <gtk/gtk.h>

Описание

Функции

gtk_test_create_simple_window ()

GtkWidget *
gtk_test_create_simple_window (const gchar *window_title,
                               const gchar *dialog_text);

gtk_test_create_simple_window была устаревшей с версии 3.20 и не должна использоваться в новом коде.

Эта инфраструктура тестирования выводится из употребления в пользу reftests.

Создаёт простое окно с заголовком окна window_title и текстовым содержимым dialog_text . Окно завершит любой запущенный цикл gtk_main() при уничтожении, и оно будет автоматически уничтожено при завершении работы тестовой функции.

Параметры

window_title

Заголовок отображаемого окна.

dialog_text

Текст, отображаемый внутри окна.

Возвращает

указатель на виджет GtkWindow, только что созданный.

[transfer none]

С: 2.14

gtk_test_create_widget ()

GtkWidget *
gtk_test_create_widget (GType widget_type,
                        const gchar *first_property_name,
                        ...);

gtk_test_create_widget была устаревшей с версии 3.20 и не должна использоваться в новом коде.

Эта инфраструктура тестирования выводится из употребления в пользу reftests.

Эта функция оборачивает g_object_new() для типов виджетов. Она автоматически отобразит все созданные виджеты, которые не являются окнами, также g_object_ref_sink() их (чтобы сохранить их в живом состоянии во время выполнения теста) и подготовит их к уничтожению во время следующей фазы завершения теста.

Параметры

widget_type

действительный тип виджета.

first_property_name

Имя первой свойства для установки или NULL.

[allow-none]

...

значение для установки первого свойства, за которым следуют дополнительные пары имя-значение, завершающиеся NULL

Возвращает

только что созданный виджет.

[transfer none]

С: 2.14

gtk_test_display_button_window ()

GtkWidget *
gtk_test_display_button_window (const gchar *window_title,
                                const gchar *dialog_text,
                                ...);

gtk_test_display_button_window была устаревшей с версии 3.20 и не должна использоваться в новом коде.

Эта инфраструктура тестирования выводится из употребления в пользу reftests.

Создаёт окно с заголовком window_title , текстовым содержимым dialog_text и количеством кнопок, в соответствии с парой аргументов, переданных в качестве параметров @… . Каждая кнопка создаётся с label и обработчиком сигнала ::clicked, который увеличивает целое число, хранящееся в nump . Окно будет автоматически отображено с помощью gtk_widget_show_now() после создания, поэтому к моменту возврата из этой функции оно уже отображено, переразмеренно и расположено на экране. Окно завершит любой запущенный цикл gtk_main() при уничтожении, и оно будет автоматически уничтожено при завершении работы тестовой функции.

Параметры

window_title

Заголовок отображаемого окна.

dialog_text

Текст, отображаемый внутри окна.

...

NULL завершённый список пар (const char *label, int *nump).

Возвращает

указатель на виджет GtkWindow, только что созданный.

[transfer full]

С: 2.14

gtk_test_find_label ()

GtkWidget *
gtk_test_find_label (GtkWidget *widget,
                     const gchar *label_pattern);

Эта функция выполнит поиск widget и всех его потомков для виджета GtkLabel со строкой текста, соответствующей label_pattern . label_pattern может содержать звёздочки “*” и вопросительные знаки “?” в качестве заполнитель, для сопоставления используется g_pattern_match(). Обратите внимание, что языковые наборы, отличные от "C", как правило, изменяют (переводят) строки меток, поэтому эта функция обычно полезна только в тестовых программах с предопределёнными языковыми наборами, см. gtk_test_init() для получения более подробной информации.

Параметры

widget

Действительный виджет метки или контейнера.

label_pattern

Шаблон shell-glob для соответствия строке метки.

Возвращает

виджет GtkLabel, если он найден.

[transfer none]

С: 2.14

gtk_test_find_sibling ()

GtkWidget *
gtk_test_find_sibling (GtkWidget *base_widget,
                       GType widget_type);

Эта функция выполнит поиск братьев base_widget и братьев его предков для всех виджетов, соответствующих widget_type . Из сопоставленных виджетов будет возвращён тот, который геометрически ближе всего к base_widget . Общая цель этой функции — найти наиболее вероятный виджет «действия» по отношению к другому виджету метки. Например, найти кнопку или текстовое поле, учитывая соответствующий виджет метки.

Параметры

base_widget

Действительный виджет, являющийся частью иерархии виджетов

widget_type

Тип ищущегося брата виджета

Возвращает

виджет типа widget_type, если он найден.

[transfer none]

С: 2.14

gtk_test_find_widget ()

GtkWidget *
gtk_test_find_widget (GtkWidget *widget,
                      const gchar *label_pattern,
                      GType widget_type);

Эта функция выполнит поиск потомков widget для виджета типа widget_type, имеющего метку, соответствующую label_pattern рядом с ним. Это наиболее полезно для автоматизированного тестирования графического интерфейса пользователя, например, для поиска кнопки «ОК» в диалоговом окне и моделирования нажатий на неё. Однако см. gtk_test_find_label(), gtk_test_find_sibling() и gtk_test_widget_click() для возможных нюансов, связанных с поиском таких виджетов и моделированием событий виджетов.

Параметры

widget

Контейнерный виджет, обычно GtkWindow.

label_pattern

Шаблон shell-glob для соответствия строке метки.

widget_type

Тип ищущегося виджета-брата метки.

Возвращает

действительный виджет, если он найден, или NULL.

[nullable][transfer none]

С: 2.14

gtk_test_init ()

void
gtk_test_init (int *argcp,
               char ***argvp,
               ...);

Эта функция используется для инициализации программы тестирования GTK+.

Она, в свою очередь, вызывает g_test_init() и gtk_init() для правильной инициализации фреймворка тестирования и графической библиотеки. Также она устанавливает локаль программы на «C» и предотвращает загрузку файлов rc и модулей Gtk+. Это делается для того, чтобы среда тестирования программы была максимально детерминированной.

Подобно gtk_init() и g_test_init(), все известные аргументы будут обработаны и удалены из argc и argv.

Параметры

argcp

Адрес параметра argc функции main(). Изменяется, если были обработаны какие-либо аргументы.

argvp

Адрес параметра argv функции main(). Любые параметры, понятные g_test_init() или gtk_init(), удаляются перед возвратом.

[inout][array length=argcp]

...

в настоящее время не используется

С момента: 2.14

gtk_test_list_all_types ()

const GType *
gtk_test_list_all_types (guint *n_types);

Возвращает идентификаторы типов, которые были зарегистрированы после вызова gtk_test_register_all_types().

Параметры

n_types

место для хранения количества типов

Возвращаемое значение

Нуль-терминированный массив идентификаторов типов.

[array length=n_types zero-terminated=1][transfer none]

С момента: 2.14

gtk_test_register_all_types ()

void
gtk_test_register_all_types (void);

Принудительно регистрирует все основные типы объектов Gtk+ и Gdk. Это позволяет ссылаться на любой из этих типов объектов с помощью g_type_from_name() после вызова этой функции.

С момента: 2.14

gtk_test_slider_get_value ()

double
gtk_test_slider_get_value (GtkWidget *widget);

gtk_test_slider_get_value устарело с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования устарела и заменена на reftests.

Получает значение настройки для виджетов GtkRange и кнопок со спиннером. Обратите внимание, что значение, возвращаемое этой функцией, может быть любым значением между нижней и верхней границами настройки, принадлежащей widget, а не процентом, как передаваемым в gtk_test_slider_set_perc().

Параметры

widget

валидный указатель на виджет.

Возвращаемое значение

gtk_adjustment_get_value (adjustment) для настройки, принадлежащей widget.

С момента: 2.14

gtk_test_slider_set_perc ()

void
gtk_test_slider_set_perc (GtkWidget *widget,
                          double percentage);

gtk_test_slider_set_perc устарело с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования устарела и заменена на reftests.

Эта функция настраивает положение ползунка для всех виджетов GtkRange, таких как полосы прокрутки или шкалы, а также для кнопок со спиннером. Значение настройки этих виджетов устанавливается в значение между нижним и верхним пределами в соответствии с аргументом percentage.

Параметры

widget

валидный указатель на виджет.

percentage

значение от 0 до 100.

С момента: 2.14

gtk_test_spin_button_click ()

gboolean
gtk_test_spin_button_click (GtkSpinButton *spinner,
                            guint button,
                            gboolean upwards);

gtk_test_spin_button_click устарело с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования устарела и заменена на reftests.

Эта функция генерирует клик button в областях стрелок кнопки со спиннером вверх или вниз, обычно приводя к увеличению или уменьшению значения кнопки со спиннером.

Параметры

spinner

валидный виджет GtkSpinButton.

button

Номер кнопки мыши для события, обычно 1, 2 или 3.

upwards

TRUE для клика стрелки вверх, FALSE для клика стрелки вниз.

Возвращаемое значение

успешно ли были выполнены все действия, необходимые для имитации клика кнопки.

С момента: 2.14

gtk_test_text_get ()

gchar *
gtk_test_text_get (GtkWidget *widget);

gtk_test_text_get устарело с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования устарела и заменена на reftests.

Получает строку текста widget, если это GtkLabel, GtkEditable (виджеты ввода и текста) или GtkTextView.

Параметры

widget

валидный указатель на виджет.

Возвращаемое значение

новая нуль-терминированная строка C, которую нужно освободить с помощью g_free().

С момента: 2.14

gtk_test_text_set ()

void
gtk_test_text_set (GtkWidget *widget,
                   const gchar *string);

gtk_test_text_set устарело с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования устарела и заменена на reftests.

Устанавливает строку текста widget на string, если это GtkLabel, GtkEditable (виджеты ввода и текста) или GtkTextView.

Параметры

widget

валидный указатель на виджет.

string

нуль-терминированная строка C.

С момента: 2.14

gtk_test_widget_click ()

gboolean
gtk_test_widget_click (GtkWidget *widget,
                       guint button,
                       GdkModifierType modifiers);

gtk_test_widget_click устарело начиная с версии 3.20 и не должно использоваться в новом коде.

Эта инфраструктура тестирования постепенно отключается в пользу reftests.

Эта функция сгенерирует щелчок button (событие нажатия и отпускания кнопки) посередине первого окна Gdk, принадлежащего widget. Для бескнопочных виджетов, таких как GtkButton (который возвращает FALSE из gtk_widget_get_has_window()), это часто будет окно только для ввода. Для других виджетов это обычно widget->window. Следует учитывать определённые особенности при использовании этой функции, в частности, потому что указатель мыши перемещается к месту щелчка, см. gdk_test_simulate_button() для подробностей.

Параметры

widget

Виджет, на котором необходимо сгенерировать щелчок.

button

Номер кнопки указателя для события, обычно 1, 2 или 3.

modifiers

Модификаторы клавиатуры, с которыми настраивается событие.

Возвращает

значение, указывающее, были ли успешно выполнены все действия, необходимые для имитации щелчка.

С: 2.14

gtk_test_widget_send_key ()

gboolean
gtk_test_widget_send_key (GtkWidget *widget,
                          guint keyval,
                          GdkModifierType modifiers);

Эта функция сгенерирует события нажатия и отпускания клавиш посередине первого найденного окна Gdk, принадлежащего widget. Для бескнопочных виджетов, таких как GtkButton (которые возвращают FALSE из gtk_widget_get_has_window()), это часто будет окно только для ввода. Для других виджетов это обычно widget->window. Следует учитывать определённые особенности при использовании этой функции, в частности, потому что указатель мыши перемещается к месту нажатия клавиши, см. gdk_test_simulate_key() для подробностей.

Параметры

widget

Виджет, на котором необходимо сгенерировать нажатие и отпускание клавиши.

keyval

Значение клавиатуры Gdk.

modifiers

Модификаторы клавиатуры, с которыми настраивается событие.

Возвращает

значение, указывающее, были ли успешно выполнены все действия, необходимые для имитации события нажатия клавиши.

С: 2.14

gtk_test_widget_wait_for_draw ()

void
gtk_test_widget_wait_for_draw (GtkWidget *widget);

Запускает цикл обработки событий и ожидает, пока widget будет «отображён». В данном контексте это означает ожидание, пока цикл обработки кадров widget выполнит полный цикл форматирования, компоновки и отрисовки.

Эта функция предназначена для синхронизации с действиями, которые зависят от перекомпоновки widget или от взаимодействия с сервером отображения.

Параметры

widget

Ожидаемый виджет

С: 3.10

Типы и значения

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/gtk3-Testing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API