diff options
author | Frans Englich <frans.englich@nokia.com> | 2009-06-29 15:17:51 (GMT) |
---|---|---|
committer | Frans Englich <frans.englich@nokia.com> | 2009-06-29 16:25:51 (GMT) |
commit | 1414c682c532a95a2204bc1b2d01d2493357b686 (patch) | |
tree | 3b4312d7d45eb609f5d7a1440d3211906fa24faa /tests/auto/qxmlquery | |
parent | 555c481145ff87347c0f0be12f81632c9b5ef0be (diff) | |
download | Qt-1414c682c532a95a2204bc1b2d01d2493357b686.zip Qt-1414c682c532a95a2204bc1b2d01d2493357b686.tar.gz Qt-1414c682c532a95a2204bc1b2d01d2493357b686.tar.bz2 |
QXmlQuery: add setFocus(const QString &).
Requested by Girish and Jurgen. Useful for training and small examples.
Task-number: 245219
Reviewed-by: Tobias Koenig
AutoTest: Included in this submit.
Diffstat (limited to 'tests/auto/qxmlquery')
-rw-r--r-- | tests/auto/qxmlquery/tst_qxmlquery.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp index 28af641..30b3f50 100644 --- a/tests/auto/qxmlquery/tst_qxmlquery.cpp +++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp @@ -155,6 +155,9 @@ private Q_SLOTS: void setFocusQIODeviceAvoidVariableClash() const; void setFocusQIODeviceFailure() const; void setFocusQIODeviceTriggerWarnings() const; + void setFocusQString() const; + void setFocusQStringFailure() const; + void setFocusQStringSignature() const; void recompilationWithEvaluateToResultFailing() const; void secondEvaluationWithEvaluateToResultFailing() const; void recompilationWithEvaluateToReceiver() const; @@ -1894,6 +1897,55 @@ void tst_QXmlQuery::setFocusQIODeviceFailure() const } } +void tst_QXmlQuery::setFocusQString() const +{ + QXmlQuery query; + + /* Basic use of focus. */ + { + QVERIFY(query.setFocus(QLatin1String("<e>textNode</e>"))); + query.setQuery(QLatin1String("string()")); + QVERIFY(query.isValid()); + QString out; + query.evaluateTo(&out); + QCOMPARE(out, QString::fromLatin1("textNode\n")); + } + + /* Set to a new focus, make sure it changes and works. */ + { + QVERIFY(query.setFocus(QLatin1String("<e>newFocus</e>"))); + QString out; + query.evaluateTo(&out); + QCOMPARE(out, QString::fromLatin1("newFocus\n")); + } +} + +void tst_QXmlQuery::setFocusQStringFailure() const +{ + QXmlQuery query; + MessageSilencer silencer; + + query.setMessageHandler(&silencer); + QVERIFY(!query.setFocus(QLatin1String("<notWellformed"))); + + /* Let's try the slight special case of a null string. */ + QVERIFY(!query.setFocus(QString())); +} + +void tst_QXmlQuery::setFocusQStringSignature() const +{ + QXmlQuery query; + MessageSilencer silencer; + query.setMessageHandler(&silencer); + + const QString argument; + /* We should take a const ref. */ + query.setFocus(argument); + + /* We should return a bool. */ + static_cast<bool>(query.setFocus(QString())); +} + void tst_QXmlQuery::setFocusQIODeviceTriggerWarnings() const { /* A null pointer. */ |