diff options
Diffstat (limited to 'clang-tools-extra/unittests/clangd/xpc/ConversionTests.cpp')
-rw-r--r-- | clang-tools-extra/unittests/clangd/xpc/ConversionTests.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clangd/xpc/ConversionTests.cpp b/clang-tools-extra/unittests/clangd/xpc/ConversionTests.cpp new file mode 100644 index 00000000000..7acdc61f693 --- /dev/null +++ b/clang-tools-extra/unittests/clangd/xpc/ConversionTests.cpp @@ -0,0 +1,36 @@ +//===-- ConversionTests.cpp --------------------------*- C++ -*-----------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "xpc/Conversion.h" +#include "gtest/gtest.h" + +#include <limits> + +namespace clang { +namespace clangd { +namespace { + +using namespace llvm; + +TEST(JsonXpcConversionTest, JsonToXpcToJson) { + + for (auto &testcase : + {json::Value(false), json::Value(3.14), json::Value(42), + json::Value(-100), json::Value("foo"), json::Value(""), + json::Value("123"), json::Value(" "), + json::Value{true, "foo", nullptr, 42}, + json::Value(json::Object{ + {"a", true}, {"b", "foo"}, {"c", nullptr}, {"d", 42}})}) { + EXPECT_TRUE(testcase == xpcToJson(jsonToXpc(testcase))) << testcase; + } +} + +} // namespace +} // namespace clangd +} // namespace clang |