Dump the entire json library in

This commit is contained in:
jordan4ibanez
2023-11-26 01:31:01 -05:00
parent 8f54e69d33
commit 650ccf9844
1077 changed files with 173944 additions and 0 deletions

View 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})

View 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\":{}}");
}
}

View 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\":{}}");
}