From 8f4a6640f2115f133c0dd6ab5807aff5786db689 Mon Sep 17 00:00:00 2001 From: Timofei Zhakov Date: Sat, 21 Dec 2024 13:06:36 +0000 Subject: [PATCH] Add a few tests on XML escaping. * subversion/tests/libsvn_subr/xml-test.c (test_xml_simple_cdata_escape, test_xml_simple_attr_escape): New tests. (test_funcs): Run these tests. git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1922620 13f79535-47bb-0310-9956-ffa450edef68 --- subversion/tests/libsvn_subr/xml-test.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/subversion/tests/libsvn_subr/xml-test.c b/subversion/tests/libsvn_subr/xml-test.c index 7c83984d16a8e..c6fa723c4e947 100644 --- a/subversion/tests/libsvn_subr/xml-test.c +++ b/subversion/tests/libsvn_subr/xml-test.c @@ -377,6 +377,26 @@ test_xml_parse_stream_invalid_xml(apr_pool_t *pool) return SVN_NO_ERROR; } +static svn_error_t * +test_xml_simple_cdata_escape(apr_pool_t *pool) +{ + svn_stringbuf_t *str = svn_stringbuf_create_empty(pool); + svn_xml_escape_cdata_cstring(&str, "safetext ", pool); + SVN_TEST_STRING_ASSERT(str->data, "safetext <nonsafe&amp;>"); + + return SVN_NO_ERROR; +} + +static svn_error_t * +test_xml_simple_attr_escape(apr_pool_t *pool) +{ + svn_stringbuf_t *str = svn_stringbuf_create_empty(pool); + svn_xml_escape_attr_cstring(&str, "safetext ", pool); + SVN_TEST_STRING_ASSERT(str->data, "safetext <nonsafe&amp;>"); + + return SVN_NO_ERROR; +} + /* The test table. */ static int max_threads = 1; @@ -403,6 +423,10 @@ static struct svn_test_descriptor_t test_funcs[] = "test XML's svn_stream_t wrapper"), SVN_TEST_PASS2(test_xml_parse_stream_invalid_xml, "test XML's svn_stream_t wrapper for invalid XML"), + SVN_TEST_PASS2(test_xml_simple_cdata_escape, + "simple XML cdata escaping test"), + SVN_TEST_PASS2(test_xml_simple_attr_escape, + "simple XML attribute escaping test"), SVN_TEST_NULL };