/* Unit tests for the xml-utils.c file.
- Copyright (C) 2017 Free Software Foundation, Inc.
+ Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-#include "xml-utils.h"
-#include "selftest.h"
+#include "gdbsupport/xml-utils.h"
+#include "gdbsupport/selftest.h"
namespace selftests {
namespace xml_utils {
{
const char *input = "<this isn't=\"xml\"> &";
const char *expected_output = "<this isn't="xml"> &";
- char *actual_output = xml_escape_text (input);
+ std::string actual_output = xml_escape_text (input);
- SELF_CHECK (strcmp (actual_output, expected_output) == 0);
+ SELF_CHECK (actual_output == expected_output);
+}
+
+static void test_xml_escape_text_append ()
+{
+ /* Make sure that we do indeed append. */
+ std::string actual_output = "foo<xml>";
+ const char *input = "<this isn't=\"xml\"> &";
+ const char *expected_output
+ = "foo<xml><this isn't="xml"> &";
+ xml_escape_text_append (actual_output, input);
- xfree (actual_output);
+ SELF_CHECK (actual_output == expected_output);
}
}
}
+void _initialize_xml_utils ();
void
_initialize_xml_utils ()
{
selftests::register_test ("xml_escape_text",
selftests::xml_utils::test_xml_escape_text);
+ selftests::register_test ("xml_escape_text_append",
+ selftests::xml_utils::test_xml_escape_text_append);
}