mirror of
https://github.com/nlohmann/json.git
synced 2026-05-07 06:45:24 +00:00
Move UDLs out of the global namespace (#3605)
* Move UDLs into nlohmann::literals::json_literals namespace * Add 'using namespace' to unit tests * Add 'using namespace' to examples * Add 'using namespace' to README * Move UDL mkdocs pages out of basic_json/ * Update documentation * Update docset index * Add JSON_GlobalUDLs CMake option * Add unit test * Build examples without global UDLs * Add CI target
This commit is contained in:
committed by
GitHub
parent
8fd8b52907
commit
9aafcbe965
@@ -0,0 +1,51 @@
|
||||
// __ _____ _____ _____
|
||||
// __| | __| | | | JSON for Modern C++ (supporting code)
|
||||
// | | |__ | | | | | | version 3.10.5
|
||||
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
|
||||
//
|
||||
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#include "doctest_compatibility.h"
|
||||
|
||||
#undef JSON_USE_GLOBAL_UDLS
|
||||
#define JSON_USE_GLOBAL_UDLS 0
|
||||
#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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user