1#include <gmock/gmock.h>
2#include <gtest/gtest.h>
4#include <userver/protobuf/json/exceptions.hpp>
8namespace protobuf::json::tests {
10TEST(ExceptionsTest, CtorCorrectlyInitializesObject) {
20 const std::string path =
"field.array[0].item[1]";
22 for (
const auto& e : errors) {
23 ParseError error
(e.first
, path
, e.second
);
34 const std::string path =
"field.array[0].item[1].map['key']";
36 for (
const auto& e : errors) {
37 PrintError error
(e.first
, path
, e.second
);
46TEST(ExceptionsTest, WhatContainsImportantDetails) {
48 const std::string path =
"field.array[0].item[1]";
49 const std::string additional_desc =
"hello world";
52 EXPECT_THAT(error.what(), ::
testing::HasSubstr(path));
53 EXPECT_THAT(error.what(), ::
testing::HasSubstr(additional_desc));
57 const std::string path =
"field.array[0].item[1].map['key']";
58 const std::string additional_desc =
"hello world";
61 EXPECT_THAT(error.what(), ::
testing::HasSubstr(path));
62 EXPECT_THAT(error.what(), ::
testing::HasSubstr(additional_desc));