summaryrefslogtreecommitdiff
path: root/json4cpp/tests/abi/config/custom.cpp
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:42:50 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:42:50 +0300
commit5fad10f89c485cfdc7b99011f07609f8871160d4 (patch)
tree1860b39753b652dfe54d3cbbc80c875f40198d1f /json4cpp/tests/abi/config/custom.cpp
parent292baed7ac0cf84263263966ed32ed113cae857f (diff)
parent9a737481aed085fd289f82dff1fa8c3c66627a7e (diff)
downloadProject-Tick-5fad10f89c485cfdc7b99011f07609f8871160d4.tar.gz
Project-Tick-5fad10f89c485cfdc7b99011f07609f8871160d4.zip
Add 'json4cpp/' from commit '9a737481aed085fd289f82dff1fa8c3c66627a7e'
git-subtree-dir: json4cpp git-subtree-mainline: 292baed7ac0cf84263263966ed32ed113cae857f git-subtree-split: 9a737481aed085fd289f82dff1fa8c3c66627a7e
Diffstat (limited to 'json4cpp/tests/abi/config/custom.cpp')
-rw-r--r--json4cpp/tests/abi/config/custom.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/json4cpp/tests/abi/config/custom.cpp b/json4cpp/tests/abi/config/custom.cpp
new file mode 100644
index 0000000000..0097747c98
--- /dev/null
+++ b/json4cpp/tests/abi/config/custom.cpp
@@ -0,0 +1,33 @@
+// __ _____ _____ _____
+// __| | __| | | | 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 "config.hpp"
+
+// define custom namespace
+#define NLOHMANN_JSON_NAMESPACE nlohmann // this line may be omitted
+#define NLOHMANN_JSON_NAMESPACE_BEGIN namespace nlohmann {
+#define NLOHMANN_JSON_NAMESPACE_END }
+#include <nlohmann/json_fwd.hpp>
+
+TEST_CASE("custom namespace")
+{
+ // GCC 4.8 fails with regex_error
+#if !DOCTEST_GCC || DOCTEST_GCC >= DOCTEST_COMPILER(4, 9, 0)
+ SECTION("namespace matches expectation")
+ {
+ std::string expected = "nlohmann::basic_json";
+
+ // fallback for Clang
+ const std::string ns{STRINGIZE(NLOHMANN_JSON_NAMESPACE) "::basic_json"};
+
+ CHECK(namespace_name<nlohmann::json>(ns) == expected);
+ }
+#endif
+}