Blame 0005-testsuite-complex-testing-of-xml-locales.patch

Jakub Filak 533ee8c
From 07a0003f2bd6121ad7d3ef18e1f3a858baaa20c0 Mon Sep 17 00:00:00 2001
Jakub Filak 533ee8c
From: Jakub Filak <jfilak@redhat.com>
Jakub Filak 533ee8c
Date: Sat, 8 Feb 2014 09:14:59 +0100
Jakub Filak 533ee8c
Subject: [LIBREPORT PATCH 5/6] testsuite: complex testing of xml locales
Jakub Filak 533ee8c
Jakub Filak 533ee8c
Related to rhbz#909536
Jakub Filak 533ee8c
Jakub Filak 533ee8c
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jakub Filak 533ee8c
---
Jakub Filak 533ee8c
 tests/xml_definition.at | 79 +++++++++++++++++++++++++++++++++++++++++++++++++
Jakub Filak 533ee8c
 1 file changed, 79 insertions(+)
Jakub Filak 533ee8c
Jakub Filak 533ee8c
diff --git a/tests/xml_definition.at b/tests/xml_definition.at
Jakub Filak 533ee8c
index e9cef49..d3032c9 100644
Jakub Filak 533ee8c
--- a/tests/xml_definition.at
Jakub Filak 533ee8c
+++ b/tests/xml_definition.at
Jakub Filak 533ee8c
@@ -55,6 +55,85 @@ int main(void)
Jakub Filak 533ee8c
         free_workflow(workflow);
Jakub Filak 533ee8c
     }
Jakub Filak 533ee8c
 
Jakub Filak 533ee8c
+    setlocale(LC_ALL, "zh_CN.utf8");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+    {
Jakub Filak 533ee8c
+        event_config_t *event_config = new_event_config("event_test_definition");
Jakub Filak 533ee8c
+        load_event_description_from_file(event_config, "../../conf/event_test_definition.xml");
Jakub Filak 533ee8c
+        assert(strcmp("screen name", ec_get_screen_name(event_config)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("description", ec_get_description(event_config)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("long description", ec_get_long_desc(event_config)) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        assert(event_config->options != NULL || !"At least one event option was loaded");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* typeof(event_config->options) == (GList *) */
Jakub Filak 533ee8c
+        event_option_t *event_option = (event_option_t *)event_config->options->data;
Jakub Filak 533ee8c
+        assert(strcmp("label", event_option->eo_label) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("note_html", event_option->eo_note_html) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* Option description is not supported yet
Jakub Filak 533ee8c
+        assert(strcmp("description", event_option->eo_description) == 0);
Jakub Filak 533ee8c
+        */
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        free_event_config(event_config);
Jakub Filak 533ee8c
+    }
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+    {
Jakub Filak 533ee8c
+        workflow_t *workflow = new_workflow("workflow_test_definition");
Jakub Filak 533ee8c
+        load_workflow_description_from_file(workflow, "../../conf/workflow_test_definition.xml");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        assert(strcmp("screen name", wf_get_screen_name(workflow)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("description", wf_get_description(workflow)) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* Long description is not supported yet
Jakub Filak 533ee8c
+        assert(strcmp("long description", wf_get_long_desc(workflow)) == 0);
Jakub Filak 533ee8c
+         */
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        free_workflow(workflow);
Jakub Filak 533ee8c
+    }
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+    /*
Jakub Filak 533ee8c
+       XML definitions does not contain strings for zh_HK but there are strings
Jakub Filak 533ee8c
+       for zh_CN and followed by zh_TW. libreport should you string for zh_TW
Jakub Filak 533ee8c
+       and these strings are prefixed with "bad " string.
Jakub Filak 533ee8c
+     */
Jakub Filak 533ee8c
+    setlocale(LC_ALL, "zh_HK");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+    {
Jakub Filak 533ee8c
+        event_config_t *event_config = new_event_config("event_test_definition");
Jakub Filak 533ee8c
+        load_event_description_from_file(event_config, "../../conf/event_test_definition.xml");
Jakub Filak 533ee8c
+        assert(strcmp("bad screen name", ec_get_screen_name(event_config)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("bad description", ec_get_description(event_config)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("bad long description", ec_get_long_desc(event_config)) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        assert(event_config->options != NULL || !"At least one event option was loaded");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* typeof(event_config->options) == (GList *) */
Jakub Filak 533ee8c
+        event_option_t *event_option = (event_option_t *)event_config->options->data;
Jakub Filak 533ee8c
+        assert(strcmp("bad label", event_option->eo_label) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("bad note_html", event_option->eo_note_html) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* Option description is not supported yet
Jakub Filak 533ee8c
+        assert(strcmp("description", event_option->eo_description) == 0);
Jakub Filak 533ee8c
+        */
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        free_event_config(event_config);
Jakub Filak 533ee8c
+    }
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+    {
Jakub Filak 533ee8c
+        workflow_t *workflow = new_workflow("workflow_test_definition");
Jakub Filak 533ee8c
+        load_workflow_description_from_file(workflow, "../../conf/workflow_test_definition.xml");
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        assert(strcmp("bad screen name", wf_get_screen_name(workflow)) == 0);
Jakub Filak 533ee8c
+        assert(strcmp("bad description", wf_get_description(workflow)) == 0);
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        /* Long description is not supported yet
Jakub Filak 533ee8c
+        assert(strcmp("bad long description", wf_get_long_desc(workflow)) == 0);
Jakub Filak 533ee8c
+         */
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
+        free_workflow(workflow);
Jakub Filak 533ee8c
+    }
Jakub Filak 533ee8c
+
Jakub Filak 533ee8c
     return EXIT_SUCCESS;
Jakub Filak 533ee8c
 }
Jakub Filak 533ee8c
 ]])
Jakub Filak 533ee8c
-- 
Jakub Filak 533ee8c
1.8.3.1
Jakub Filak 533ee8c