summaryrefslogtreecommitdiffstats
path: root/tests/auto/xml
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <dangelog@gmail.com>2012-04-01 18:53:55 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-03 23:56:10 +0200
commitfb20f9c2da369b07fc50857a90b596ae63f943da (patch)
treeda28a81ab925777e4f82346a1ce6c6684f41c326 /tests/auto/xml
parent72eb9d49a9849ba4a27b27e82b60f4bdd887a70e (diff)
Stop relying on QHash ordering
tst_rcc and tst_qdom rely on specific QHash orderings inside rcc and QDom respectively (see QTBUG-25078 and QTBUG-25071). A workaround is added to make them succeed: QDom checks for all possible orderings, and rcc initializes the hash seed to 0 if the QT_RCC_TEST environment variable is set. Change-Id: I5ed6b50602fceba731c797aec8dffc9cc1d6a1ce Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'tests/auto/xml')
-rw-r--r--tests/auto/xml/dom/qdom/tst_qdom.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/tests/auto/xml/dom/qdom/tst_qdom.cpp b/tests/auto/xml/dom/qdom/tst_qdom.cpp
index 1533e6a139..1155cd0547 100644
--- a/tests/auto/xml/dom/qdom/tst_qdom.cpp
+++ b/tests/auto/xml/dom/qdom/tst_qdom.cpp
@@ -1792,8 +1792,15 @@ void tst_QDom::doubleNamespaceDeclarations() const
QXmlInputSource source(&file);
QVERIFY(doc.setContent(&source, &reader));
- QVERIFY(doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" xmlns:p=\"NS\" p:d=\"\"/>\n</a>\n") ||
- doc.toString(0) == QString::fromLatin1("<a>\n<b p:c=\"\" p:d=\"\" xmlns:p=\"NS\"/>\n</a>\n"));
+ // tst_QDom relies on a specific QHash ordering, see QTBUG-25071
+ QString docAsString = doc.toString(0);
+ QVERIFY(docAsString == QString::fromLatin1("<a>\n<b p:c=\"\" xmlns:p=\"NS\" p:d=\"\"/>\n</a>\n") ||
+ docAsString == QString::fromLatin1("<a>\n<b p:c=\"\" p:d=\"\" xmlns:p=\"NS\"/>\n</a>\n") ||
+ docAsString == QString::fromLatin1("<a>\n<b p:d=\"\" p:c=\"\" xmlns:p=\"NS\"/>\n</a>\n") ||
+ docAsString == QString::fromLatin1("<a>\n<b p:d=\"\" xmlns:p=\"NS\" p:c=\"\"/>\n</a>\n") ||
+ docAsString == QString::fromLatin1("<a>\n<b xmlns:p=\"NS\" p:c=\"\" p:d=\"\"/>\n</a>\n") ||
+ docAsString == QString::fromLatin1("<a>\n<b xmlns:p=\"NS\" p:d=\"\" p:c=\"\"/>\n</a>\n")
+ );
}
void tst_QDom::setContentQXmlReaderOverload() const
@@ -1922,7 +1929,7 @@ void tst_QDom::cloneDTD_QTBUG8398() const
QVERIFY(domDocument.setContent(dtd));
QDomDocument domDocument2 = domDocument.cloneNode(true).toDocument();
- // for some reason, our DOM implementation reverts the order of entities
+ // this string is relying on a specific QHash ordering, QTBUG-25071
QString expected("<?xml version='1.0' encoding='UTF-8'?>\n"
"<!DOCTYPE first [\n"
"<!ENTITY thirdFile SYSTEM 'third.xml'>\n"
@@ -1932,7 +1939,8 @@ void tst_QDom::cloneDTD_QTBUG8398() const
QString output;
QTextStream stream(&output);
domDocument2.save(stream, 0);
- QCOMPARE(output, expected);
+ // check against the original string and the expected one, QTBUG-25071
+ QVERIFY(output == dtd || output == expected);
}
void tst_QDom::DTDNotationDecl()