diff --git a/tests/cpp/format/json.cc b/tests/cpp/format/json.cc index 9c16261d..a88b3279 100644 --- a/tests/cpp/format/json.cc +++ b/tests/cpp/format/json.cc @@ -122,10 +122,16 @@ TEST(real) { } TEST(string) { + // Helper function that concatenates all arguments into one string. + auto concat = [](auto... args) { + std::string result; + (result += ... += args); + return result; + }; CHECK_EQUAL(to_v1("foo"sv), R"_({"@data-type":"string","data":"foo"})_"); CHECK_EQUAL(to_v1("foo\nbar"sv), R"_({"@data-type":"string","data":"foo\nbar"})_"); - CHECK_EQUAL(to_v1("foo\n\"bar"sv), + CHECK_EQUAL(to_v1(concat("foo\n", '"', "bar")), // concat: workaround for MSVC R"_({"@data-type":"string","data":"foo\n\"bar"})_"); CHECK_EQUAL(to_v1(data{"foo"s}), R"_({"@data-type":"string","data":"foo"})_"); CHECK_EQUAL(to_v1(data{"foo\nbar"s}),