blob: bb72ccbceb9707514e4d71505468e03e0e33aecd [file] [log] [blame]
// __ _____ _____ _____
// __| | __| | | | JSON for Modern C++ (supporting code)
// | | |__ | | | | | | version 3.11.3
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
//
// SPDX-FileCopyrightText: 2013-2023 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
}