toAppendDelimited, toDelimited
[folly.git] / folly / test / ConvTest.cpp
index 7dd6d0a4b87f8205bf76a69a62f7891d7d44a345..f48c69c39e34838a89f9c63355f54c69bb854884 100644 (file)
@@ -403,6 +403,22 @@ void testVariadicTo() {
   EXPECT_EQ(s, "Lorem ipsum 1234 dolor amet 567.89.");
 }
 
+template <class String>
+void testVariadicToDelim() {
+  String s;
+  toAppendDelim(":", &s);
+  toAppendDelim(
+      ":", "Lorem ipsum ", 1234, String(" dolor amet "), 567.89, '!', &s);
+  EXPECT_EQ(s, "Lorem ipsum :1234: dolor amet :567.89:!");
+
+  s = toDelim<String>(':');
+  EXPECT_TRUE(s.empty());
+
+  s = toDelim<String>(
+      ":", "Lorem ipsum ", nullptr, 1234, " dolor amet ", 567.89, '.');
+  EXPECT_EQ(s, "Lorem ipsum ::1234: dolor amet :567.89:.");
+}
+
 TEST(Conv, NullString) {
   string s1 = to<string>((char *) NULL);
   EXPECT_TRUE(s1.empty());
@@ -415,6 +431,11 @@ TEST(Conv, VariadicTo) {
   testVariadicTo<fbstring>();
 }
 
+TEST(Conv, VariadicToDelim) {
+  testVariadicToDelim<string>();
+  testVariadicToDelim<fbstring>();
+}
+
 template <class String>
 void testDoubleToString() {
   EXPECT_EQ(to<string>(0.0), "0");