diff options
Diffstat (limited to 'tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp')
-rw-r--r-- | tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp b/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp index 7a65308b6e..8f57594e5b 100644 --- a/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp +++ b/tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp @@ -117,6 +117,8 @@ private slots: // void network_errors() // void readyState() + void stateChangeCallingContext(); + private: QQmlEngine engine; }; @@ -165,7 +167,7 @@ void tst_qqmlxmlhttprequest::callbackException() QFETCH(QString, which); QFETCH(int, line); - + QString expect = testFileUrl("callbackException.qml").toString() + ":"+QString::number(line)+": Error: Exception from Callback"; QTest::ignoreMessage(QtWarningMsg, expect.toLatin1()); @@ -1155,6 +1157,22 @@ void tst_qqmlxmlhttprequest::cdata() delete object; } +void tst_qqmlxmlhttprequest::stateChangeCallingContext() +{ + // ensure that we don't crash by attempting to evaluate + // without a valid calling context. + + TestHTTPServer server(SERVER_PORT); + QVERIFY(server.isValid()); + server.serveDirectory(dataDirectory(), TestHTTPServer::Delay); + + QQmlComponent component(&engine, testFileUrl("stateChangeCallingContext.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); + QTRY_VERIFY(object->property("success").toBool() == true); + delete object; +} + QTEST_MAIN(tst_qqmlxmlhttprequest) #include "tst_qqmlxmlhttprequest.moc" |