[Support] Allow JSON serialization of Optional<T> for supported T.
This is ported from r333881 to JSON's new home.
llvm-svn: 336542
diff --git a/llvm/unittests/Support/JSONTest.cpp b/llvm/unittests/Support/JSONTest.cpp
index 08307c1..07580aa 100644
--- a/llvm/unittests/Support/JSONTest.cpp
+++ b/llvm/unittests/Support/JSONTest.cpp
@@ -37,6 +37,8 @@
EXPECT_EQ(R"({"A":{"B":{}}})", s(Object{{"A", Object{{"B", Object{}}}}}));
EXPECT_EQ(R"({"A":{"B":{"X":"Y"}}})",
s(Object{{"A", Object{{"B", Object{{"X", "Y"}}}}}}));
+ EXPECT_EQ("null", s(llvm::Optional<double>()));
+ EXPECT_EQ("2.5", s(llvm::Optional<double>(2.5)));
}
TEST(JSONTest, StringOwnership) {