From e8b612571eb9a67c9019ed0e9702b5d476bf8581 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Wed, 13 Jul 2011 11:24:48 -0700 Subject: [PATCH] test/rgw_escape.cc: add utf-8 test Signed-off-by: Colin McCabe --- src/test/rgw_escape.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/rgw_escape.cc b/src/test/rgw_escape.cc index 556af0194599d..45c26a4106b87 100644 --- a/src/test/rgw_escape.cc +++ b/src/test/rgw_escape.cc @@ -44,6 +44,16 @@ TEST(EscapeXml, ControlChars) { ASSERT_EQ(escape_xml_attrs((char*)cc2), "abc"); } +TEST(EscapeXml, Utf8) { + uint8_t cc1[] = { 0xe6, 0xb1, 0x89, 0xe5, 0xad, 0x97, 0x0a, 0x0 }; + ASSERT_EQ(escape_xml_attrs((const char*)cc1), (const char*)cc1); + + uint8_t cc2[] = { 0x3c, 0xe6, 0xb1, 0x89, 0xe5, 0xad, 0x97, 0x3e, 0x0a, 0x0 }; + uint8_t cc2_out[] = { 0x26, 0x6c, 0x74, 0x3b, 0xe6, 0xb1, 0x89, 0xe5, + 0xad, 0x97, 0x26, 0x67, 0x74, 0x3b, 0x0a, 0x0 }; + ASSERT_EQ(escape_xml_attrs((const char*)cc2), (const char*)cc2_out); +} + static std::string escape_json_attrs(const char *str) { int len = escape_json_attr_len(str); -- 2.39.5