/
githubmirror
/
libreport
Обзор
Документация
Войти
/
githubmirror
/
libreport
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/xml_definition.at
190 строк
7 KB
Michal Fabik
internal_libreport: Fix namespacing with #defines
14 апр 2020, 12:42
14 апр 2020, 12:42
2beaddf
Код
Авторство
О чём код?
# -*- Autotest -*- AT_BANNER([XML definitions]) ## ------------------------ ## ## region_specific_language ## ## ------------------------ ## AT_TESTFUN([region_specific_language], [[ #include "internal_libreport.h" #include <locale.h> #include <stdlib.h> #include <stdio.h> #include <assert.h> int main(void) { libreport_g_verbose = 3; assert(setlocale(LC_ALL, "zh_CN") != NULL || !"setlocale() failed"); { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_test_definition.xml"); assert(strcmp("screen name", ec_get_screen_name(event_config)) == 0); assert(strcmp("description", ec_get_description(event_config)) == 0); assert(strcmp("long description", ec_get_long_desc(event_config)) == 0); assert(event_config->options != NULL || !"At least one event option was loaded"); /* typeof(event_config->options) == (GList *) */ event_option_t *event_option = (event_option_t *)event_config->options->data; assert(strcmp("label", event_option->eo_label) == 0); assert(strcmp("note_html", event_option->eo_note_html) == 0); /* Option description is not supported yet assert(strcmp("description", event_option->eo_description) == 0); */ free_event_config(event_config); } { workflow_t *workflow = new_workflow("workflow_test_definition"); load_workflow_description_from_file(workflow, "../../conf/workflow_test_definition.xml"); assert(strcmp("screen name", wf_get_screen_name(workflow)) == 0); assert(strcmp("description", wf_get_description(workflow)) == 0); /* Long description is not supported yet assert(strcmp("long description", wf_get_long_desc(workflow)) == 0); */ free_workflow(workflow); } assert(setlocale(LC_ALL, "zh_CN.utf8") != NULL || !"setlocale() failed"); { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_test_definition.xml"); assert(strcmp("screen name", ec_get_screen_name(event_config)) == 0); assert(strcmp("description", ec_get_description(event_config)) == 0); assert(strcmp("long description", ec_get_long_desc(event_config)) == 0); assert(event_config->options != NULL || !"At least one event option was loaded"); /* typeof(event_config->options) == (GList *) */ event_option_t *event_option = (event_option_t *)event_config->options->data; assert(strcmp("label", event_option->eo_label) == 0); assert(strcmp("note_html", event_option->eo_note_html) == 0); /* Option description is not supported yet assert(strcmp("description", event_option->eo_description) == 0); */ free_event_config(event_config); } { workflow_t *workflow = new_workflow("workflow_test_definition"); load_workflow_description_from_file(workflow, "../../conf/workflow_test_definition.xml"); assert(strcmp("screen name", wf_get_screen_name(workflow)) == 0); assert(strcmp("description", wf_get_description(workflow)) == 0); /* Long description is not supported yet assert(strcmp("long description", wf_get_long_desc(workflow)) == 0); */ free_workflow(workflow); } /* XML definitions does not contain strings for zh_HK but there are strings for zh_CN and followed by zh_TW. libreport should you string for zh_TW and these strings are prefixed with "bad " string. */ assert(setlocale(LC_ALL, "zh_HK") != NULL || !"setlocale() failed"); { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_test_definition.xml"); assert(strcmp("bad screen name", ec_get_screen_name(event_config)) == 0); assert(strcmp("bad description", ec_get_description(event_config)) == 0); assert(strcmp("bad long description", ec_get_long_desc(event_config)) == 0); assert(event_config->options != NULL || !"At least one event option was loaded"); /* typeof(event_config->options) == (GList *) */ event_option_t *event_option = (event_option_t *)event_config->options->data; assert(strcmp("bad label", event_option->eo_label) == 0); assert(strcmp("bad note_html", event_option->eo_note_html) == 0); /* Option description is not supported yet assert(strcmp("description", event_option->eo_description) == 0); */ free_event_config(event_config); } { workflow_t *workflow = new_workflow("workflow_test_definition"); load_workflow_description_from_file(workflow, "../../conf/workflow_test_definition.xml"); assert(strcmp("bad screen name", wf_get_screen_name(workflow)) == 0); assert(strcmp("bad description", wf_get_description(workflow)) == 0); /* Long description is not supported yet assert(strcmp("bad long description", wf_get_long_desc(workflow)) == 0); */ free_workflow(workflow); } return EXIT_SUCCESS; } ]]) ## ----------------- ## ## restricted_access ## ## ----------------- ## AT_TESTFUN([restricted_access], [[ #include "testsuite.h" TS_MAIN { { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_no_support_restricted.xml"); TS_ASSERT_FALSE(event_config->ec_supports_restricted_access); TS_ASSERT_PTR_IS_NULL(event_config->ec_restricted_access_option); free_event_config(event_config); } { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_implicit_no_support_restricted.xml"); TS_ASSERT_FALSE(event_config->ec_supports_restricted_access); TS_ASSERT_PTR_IS_NULL(event_config->ec_restricted_access_option); free_event_config(event_config); } { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_support_restricted_no_option.xml"); TS_ASSERT_TRUE(event_config->ec_supports_restricted_access); TS_ASSERT_PTR_IS_NULL(event_config->ec_restricted_access_option); free_event_config(event_config); } { event_config_t *event_config = new_event_config("event_test_definition"); load_event_description_from_file(event_config, "../../conf/event_support_restricted_with_option.xml"); TS_ASSERT_TRUE(event_config->ec_supports_restricted_access); TS_ASSERT_STRING_EQ(event_config->ec_restricted_access_option, "Bugzilla_RestrictedAccess", "Loaded from configuration"); free_event_config(event_config); } } TS_RETURN_MAIN ]])