From ecf443683811f2f5190606456b8480ece7c9b7e4 Mon Sep 17 00:00:00 2001 From: gbrun Date: Mon, 1 Jun 2026 13:14:33 +0300 Subject: [libxml] add parseOptions Added the ability to explicitly specify parsing options. commit_hash:1bd7947cfc298f0c3edc895a77c64f70504b78d5 --- library/cpp/xml/document/xml-document_ut.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'library/cpp/xml/document/xml-document_ut.cpp') diff --git a/library/cpp/xml/document/xml-document_ut.cpp b/library/cpp/xml/document/xml-document_ut.cpp index 0ec1fc60838..b4af2cdccf3 100644 --- a/library/cpp/xml/document/xml-document_ut.cpp +++ b/library/cpp/xml/document/xml-document_ut.cpp @@ -338,4 +338,30 @@ Y_UNIT_TEST_SUITE(TestXmlDocument) { root.SetAttr("quux", "literal"); root.SetAttr("frob", 500); } + + Y_UNIT_TEST(Cdata) { + using namespace NXml; + const TString xml = "\n" + " test\n"; + + TDocument docDefault(xml, TDocument::String); + UNIT_ASSERT(docDefault.Root().FirstChild().IsText()); + + TDocument docWithCdata(xml, TDocument::String, XML_PARSE_NOCDATA); + UNIT_ASSERT(docWithCdata.Root().FirstChild().IsText()); + + TDocument docWithoutCdata(xml, TDocument::String, 0); + UNIT_ASSERT(!docWithoutCdata.Root().FirstChild().IsText()); + } + + Y_UNIT_TEST(InvalidXml) { + using namespace NXml; + const TString xml = "\n" + "value\n"; + + UNIT_CHECK_GENERATED_EXCEPTION(TDocument(xml, TDocument::String), yexception); + + TDocument doc(xml, TDocument::String, XML_PARSE_RECOVER); + UNIT_ASSERT_EQUAL(doc.Root().FirstChild().Value(), "value"); + } } -- cgit v1.3