diff --git a/lib/common/tests/xml/pcmk__xml_escape_test.c b/lib/common/tests/xml/pcmk__xml_escape_test.c index 4e8ba151f2..9acabcd1a9 100644 --- a/lib/common/tests/xml/pcmk__xml_escape_test.c +++ b/lib/common/tests/xml/pcmk__xml_escape_test.c @@ -1,145 +1,192 @@ /* * Copyright 2024 the Pacemaker project contributors * * The version control history for this file may have further details. * * This source code is licensed under the GNU General Public License version 2 * or later (GPLv2+) WITHOUT ANY WARRANTY. */ #include #include #include -// @TODO Add tests for Unicode characters - static void null_empty(void **state) { char *str = NULL; str = pcmk__xml_escape(NULL, false); assert_null(str); str = pcmk__xml_escape(NULL, true); assert_null(str); str = pcmk__xml_escape("", false); assert_string_equal(str, ""); free(str); str = pcmk__xml_escape("", true); assert_string_equal(str, ""); free(str); } static void escape_unchanged(void **state) { // No escaped characters (note: this string includes single quote at end) const char *unchanged = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789" "\n\t`~!@#$%^*()-_=+/|\\[]{}?.,'"; char *str = NULL; str = pcmk__xml_escape(unchanged, false); assert_string_equal(str, unchanged); free(str); str = pcmk__xml_escape(unchanged, true); assert_string_equal(str, unchanged); free(str); } // Ensure special characters get escaped at start, middle, and end static void escape_left_angle(void **state) { const char *l_angle = " #include #include -// @TODO Add tests for Unicode characters - static void null_empty(void **state) { assert_false(pcmk__xml_needs_escape(NULL, false)); assert_false(pcmk__xml_needs_escape(NULL, true)); assert_false(pcmk__xml_needs_escape("", false)); assert_false(pcmk__xml_needs_escape("", true)); } static void escape_unchanged(void **state) { // No escaped characters (note: this string includes single quote at end) const char *unchanged = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789" "\n\t`~!@#$%^*()-_=+/|\\[]{}?.,'"; assert_false(pcmk__xml_needs_escape(unchanged, false)); assert_false(pcmk__xml_needs_escape(unchanged, true)); } // Ensure special characters get escaped at start, middle, and end static void escape_left_angle(void **state) { const char *l_angle_left = "