diff options
Diffstat (limited to 'json4cpp/tests/src/unit-udl.cpp')
| -rw-r--r-- | json4cpp/tests/src/unit-udl.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/json4cpp/tests/src/unit-udl.cpp b/json4cpp/tests/src/unit-udl.cpp new file mode 100644 index 0000000000..405f4792d5 --- /dev/null +++ b/json4cpp/tests/src/unit-udl.cpp @@ -0,0 +1,57 @@ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ (supporting code) +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2026 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 +} |
