]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/unittests/xml-utils-selftests.c
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / unittests / xml-utils-selftests.c
index 21b506a3a0b5d908295098f6881da9469f780dae..eefe2c64ed766f35dcf3d2bad7e3b9d98d51be25 100644 (file)
@@ -1,6 +1,6 @@
 /* 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.
 
@@ -18,8 +18,8 @@
    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 {
@@ -28,19 +28,32 @@ static void test_xml_escape_text ()
 {
   const char *input = "<this isn't=\"xml\"> &";
   const char *expected_output = "&lt;this isn&apos;t=&quot;xml&quot;&gt; &amp;";
-  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>&lt;this isn&apos;t=&quot;xml&quot;&gt; &amp;";
+  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);
 }