/
githubmirror
/
json
Обзор
Документация
Войти
/
githubmirror
/
json
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v3.12.0
tests/src/unit-diagnostic-positions.cpp
40 строк
1 KB
Niels Lohmann
:bookmark: set version to 3.12.0
07 апр 2025, 22:32
Не верифицирован
07 апр 2025, 22:32
34e46d7
Код
Авторство
О чём код?
// __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ (supporting code) // | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // // SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #include "doctest_compatibility.h" #define JSON_DIAGNOSTICS 1 #define JSON_DIAGNOSTIC_POSITIONS 1 #include <nlohmann/json.hpp> using json = nlohmann::json; TEST_CASE("Better diagnostics with positions") { SECTION("invalid type") { const std::string json_invalid_string = R"( { "address": { "street": "Fake Street", "housenumber": "1" } } )"; json j = json::parse(json_invalid_string); CHECK_THROWS_WITH_AS(j.at("address").at("housenumber").get<int>(), "[json.exception.type_error.302] (/address/housenumber) (bytes 108-111) type must be number, but is string", json::type_error); } SECTION("invalid type without positions") { const json j = "foo"; CHECK_THROWS_WITH_AS(j.get<int>(), "[json.exception.type_error.302] type must be number, but is string", json::type_error); } }