diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-03-23 18:47:13 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-03-26 12:01:14 +0100 |
commit | edb64351cd0896d27af15d54d5fa868c7567eced (patch) | |
tree | 13c7356caaeee51c3b18550d365aee19ca0f3528 /tests/auto/xml/dom/qdom/tst_qdom.cpp | |
parent | 64db79f8560472b458cd80de52a1939b5bae2703 (diff) |
QDom: preserve empty CDATA sections
Restores Qt 5 behavior.
Fixes: QTBUG-101992
Pick-to: 6.3 6.2
Change-Id: I3b9fc077c0a0fd30f4fcce7bfa342dbe96b2c582
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests/auto/xml/dom/qdom/tst_qdom.cpp')
-rw-r--r-- | tests/auto/xml/dom/qdom/tst_qdom.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/xml/dom/qdom/tst_qdom.cpp b/tests/auto/xml/dom/qdom/tst_qdom.cpp index b1c9b2e9c9..cc0eef3d02 100644 --- a/tests/auto/xml/dom/qdom/tst_qdom.cpp +++ b/tests/auto/xml/dom/qdom/tst_qdom.cpp @@ -87,6 +87,7 @@ private slots: void invalidCharData(); void roundTripAttributes() const; + void roundTripCDATA() const; void normalizeEndOfLine() const; void normalizeAttributes() const; void serializeWeirdEOL() const; @@ -1441,6 +1442,17 @@ void tst_QDom::roundTripAttributes() const QCOMPARE(QString::fromLatin1(serialized.constData()), QString::fromLatin1(expected.constData())); } +void tst_QDom::roundTripCDATA() const +{ + const QString input = u"<?xml version='1.0' encoding='UTF-8'?>\n" + "<content><![CDATA[]]></content>\n"_qs; + QString errorMsg; + QDomDocument doc; + QVERIFY(doc.setContent(input, false, &errorMsg)); + QVERIFY(errorMsg.isEmpty()); + QCOMPARE(doc.toString(), input); +} + void tst_QDom::normalizeEndOfLine() const { QByteArray input("<a>\r\nc\rc\ra\na</a>"); |