aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp')
-rw-r--r--library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp b/library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp
index 2f6e14138c..67e918a297 100644
--- a/library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp
+++ b/library/cpp/yaml/fyamlcpp/fyamlcpp_ut.cpp
@@ -31,7 +31,7 @@ config: b
)";
UNIT_ASSERT_EXCEPTION_CONTAINS(
NFyaml::TDocument::Parse(yaml),
- yexception,
+ NFyaml::TFyamlEx,
"3:1 duplicate key");
}
@@ -42,9 +42,23 @@ anchor: *does_not_exists
auto doc = NFyaml::TDocument::Parse(yaml);
UNIT_ASSERT_EXCEPTION_CONTAINS(
doc.Resolve(),
- yexception,
+ NFyaml::TFyamlEx,
"2:10 invalid alias");
}
+ {
+ const char *yaml = R"(
+a: 1
+a: 2
+a: 3
+)";
+ try {
+ NFyaml::TDocument::Parse(yaml);
+ UNIT_FAIL("exception must've happend");
+ } catch (NFyaml::TFyamlEx e) {
+ UNIT_ASSERT(TString(e.what()).Contains("3:1 duplicate key"));
+ UNIT_ASSERT(e.Errors().ysize() == 1);
+ }
+ }
}
Y_UNIT_TEST(Out) {