mirror of https://github.com/nlohmann/json.git
58 lines
1.8 KiB
C++
58 lines
1.8 KiB
C++
// __ _____ _____ _____
|
|
// __| | __| | | | JSON for Modern C++ (supporting code)
|
|
// | | |__ | | | | | | version 3.11.2
|
|
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
|
|
//
|
|
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#include "doctest_compatibility.h"
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
TEST_CASE("user-defined string literals")
|
|
{
|
|
auto j_expected = nlohmann::json::parse(R"({"foo": "bar", "baz": 42})");
|
|
auto ptr_expected = nlohmann::json::json_pointer("/foo/bar");
|
|
|
|
SECTION("using namespace nlohmann::literals::json_literals")
|
|
{
|
|
using namespace nlohmann::literals::json_literals; // NOLINT(google-build-using-namespace)
|
|
|
|
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
|
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
|
}
|
|
|
|
SECTION("using namespace nlohmann::json_literals")
|
|
{
|
|
using namespace nlohmann::json_literals; // NOLINT(google-build-using-namespace)
|
|
|
|
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
|
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
|
}
|
|
|
|
SECTION("using namespace nlohmann::literals")
|
|
{
|
|
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
|
|
|
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
|
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
|
}
|
|
|
|
SECTION("using namespace nlohmann")
|
|
{
|
|
using namespace nlohmann; // NOLINT(google-build-using-namespace)
|
|
|
|
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
|
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
|
}
|
|
|
|
#ifndef JSON_TEST_NO_GLOBAL_UDLS
|
|
SECTION("global namespace")
|
|
{
|
|
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
|
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
|
}
|
|
#endif
|
|
}
|