36 lines · cpp
1//===-- ConversionTests.cpp --------------------------*- C++ -*-----------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "xpc/Conversion.h"10#include "gtest/gtest.h"11 12#include <limits>13 14namespace clang {15namespace clangd {16namespace {17 18using namespace llvm;19 20TEST(JsonXpcConversionTest, JsonToXpcToJson) {21 22 for (auto &testcase :23 {json::Value(false), json::Value(3.14), json::Value(42),24 json::Value(-100), json::Value("foo"), json::Value(""),25 json::Value("123"), json::Value(" "),26 json::Value{true, "foo", nullptr, 42},27 json::Value(json::Object{28 {"a", true}, {"b", "foo"}, {"c", nullptr}, {"d", 42}})}) {29 EXPECT_TRUE(testcase == xpcToJson(jsonToXpc(testcase))) << testcase;30 }31}32 33} // namespace34} // namespace clangd35} // namespace clang36