summaryrefslogtreecommitdiffstats
path: root/src/test/common/test_xmlformatter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/common/test_xmlformatter.cc')
-rw-r--r--src/test/common/test_xmlformatter.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/common/test_xmlformatter.cc b/src/test/common/test_xmlformatter.cc
index 9ac6dde456e..abbe9e4e25e 100644
--- a/src/test/common/test_xmlformatter.cc
+++ b/src/test/common/test_xmlformatter.cc
@@ -163,3 +163,25 @@ TEST(xmlformatter, pretty_lowercased_underscored)
"<string_item>String</string_item>\n\n";
EXPECT_EQ(cmp, sout.str());
}
+
+TEST(xmlformatter, dump_format_large_item)
+{
+ std::stringstream sout;
+ XMLFormatter formatter(
+ true, // pretty
+ false, // lowercased
+ false); // underscored
+
+ std::string base_url("http://example.com");
+ std::string bucket_name("bucket");
+ std::string object_key(1024, 'a');
+
+ formatter.dump_format("Location", "%s/%s/%s", base_url.c_str(), bucket_name.c_str(), object_key.c_str());
+
+ formatter.flush(sout);
+
+ std::string uri = base_url + "/" + bucket_name + "/" + object_key;
+ std::string expected_output = "<Location>" + uri + "</Location>\n\n";
+
+ EXPECT_EQ(expected_output, sout.str());
+} \ No newline at end of file