mirror of
https://github.com/minetest/irrlicht.git
synced 2025-07-03 16:50:27 +02:00
Dump the entire json library in
This commit is contained in:
12
source/Irrlicht/lib/json/tests/abi/inline_ns/CMakeLists.txt
Normal file
12
source/Irrlicht/lib/json/tests/abi/inline_ns/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
# test linking an old library version without an inline namespace
|
||||
# with the current library using an inline namespace into the same executable
|
||||
|
||||
# build test executable and add test
|
||||
add_executable(abi_compat_inline_ns
|
||||
use_v3_10_5.cpp
|
||||
use_current.cpp)
|
||||
target_link_libraries(abi_compat_inline_ns PRIVATE abi_compat_main)
|
||||
|
||||
add_test(
|
||||
NAME test-abi_compat_inline_ns
|
||||
COMMAND abi_compat_inline_ns ${DOCTEST_TEST_FILTER})
|
36
source/Irrlicht/lib/json/tests/abi/inline_ns/use_current.cpp
Normal file
36
source/Irrlicht/lib/json/tests/abi/inline_ns/use_current.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
// __ _____ _____ _____
|
||||
// __| | __| | | | 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("use current library with inline namespace")
|
||||
{
|
||||
SECTION("implicitly")
|
||||
{
|
||||
using nlohmann::json;
|
||||
using nlohmann::ordered_json;
|
||||
|
||||
json j;
|
||||
// In v3.10.5 mixing json_pointers of different basic_json types
|
||||
// results in implicit string conversion
|
||||
j[ordered_json::json_pointer("/root")] = json::object();
|
||||
CHECK(j.dump() == "{\"root\":{}}");
|
||||
}
|
||||
|
||||
SECTION("explicitly")
|
||||
{
|
||||
using NLOHMANN_JSON_NAMESPACE::json;
|
||||
using NLOHMANN_JSON_NAMESPACE::ordered_json;
|
||||
|
||||
json j;
|
||||
j[ordered_json::json_pointer("/root")] = json::object();
|
||||
CHECK(j.dump() == "{\"root\":{}}");
|
||||
}
|
||||
}
|
22
source/Irrlicht/lib/json/tests/abi/inline_ns/use_v3_10_5.cpp
Normal file
22
source/Irrlicht/lib/json/tests/abi/inline_ns/use_v3_10_5.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
// __ _____ _____ _____
|
||||
// __| | __| | | | 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_v3_10_5.hpp>
|
||||
using nlohmann::json;
|
||||
using nlohmann::ordered_json;
|
||||
|
||||
TEST_CASE("use library v3.10.5 without inline namespace")
|
||||
{
|
||||
json j;
|
||||
j[ordered_json::json_pointer("/root")] = json::object();
|
||||
// In v3.10.5 mixing json_pointers of different basic_json types
|
||||
// results in implicit string conversion
|
||||
CHECK(j.dump() == "{\"/root\":{}}");
|
||||
}
|
Reference in New Issue
Block a user