diff options
author | Damian Jansen <damian.jansen@nokia.com> | 2011-10-24 15:50:38 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-26 03:41:53 +0200 |
commit | 31d34d98f192035c42bd1d1c07bf6e297da76220 (patch) | |
tree | efa7694ed147498ce8960e614ad0b5ec3799b069 /tests | |
parent | 4e931c4a436ea3dcf6e1921488771aa1e79eda13 (diff) |
Test for changing font via states
Change-Id: I1bc4bfefb5b4892be53b261d65a50a0cfd5a7d00
Reviewed-by: Yann Bodson <yann.bodson@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/declarative/qdeclarativefontloader/data/qtbug-20268.qml | 27 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp | 23 |
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativefontloader/data/qtbug-20268.qml b/tests/auto/declarative/qdeclarativefontloader/data/qtbug-20268.qml new file mode 100644 index 0000000000..0eafdfa17b --- /dev/null +++ b/tests/auto/declarative/qdeclarativefontloader/data/qtbug-20268.qml @@ -0,0 +1,27 @@ +import QtQuick 2.0 + +Rectangle { + id: test + property variant fontloader: fontloaderelement + height: 100; width: 100 + property bool usename: false + property int statenum: 1 + property alias name: fontloaderelement.name + property alias source: fontloaderelement.source + property alias status: fontloaderelement.status + + FontLoader { + id: fontloaderelement + } + + states: [ + State { name: "start"; when: !usename + PropertyChanges { target: fontloaderelement; source: "tarzeau_ocr_a.ttf" } + }, + State { name: "changefont"; when: usename + PropertyChanges { target: fontloaderelement; name: "Tahoma" } + } + ] + + Text { id: textelement; text: fontloaderelement.name; color: "black" } +} diff --git a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp index 67a040dcf2..9831ac1087 100644 --- a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp +++ b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp @@ -46,6 +46,8 @@ #include <QtDeclarative/private/qdeclarativefontloader_p.h> #include "../shared/util.h" #include "../../declarative/shared/testhttpserver.h" +#include <QQuickView> +#include <QQuickItem> #define SERVER_PORT 14448 @@ -65,6 +67,7 @@ private slots: void redirWebFont(); void failWebFont(); void changeFont(); + void changeFontSourceViaState(); private: QDeclarativeEngine engine; @@ -220,6 +223,26 @@ void tst_qdeclarativefontloader::changeFont() QTRY_COMPARE(fontObject->name(), QString("Daniel")); } +void tst_qdeclarativefontloader::changeFontSourceViaState() +{ + QQuickView canvas(QUrl::fromLocalFile(TESTDATA("qtbug-20268.qml"))); + canvas.show(); + canvas.requestActivateWindow(); + QTest::qWaitForWindowShown(&canvas); + QTRY_COMPARE(&canvas, qGuiApp->focusWindow()); + + QDeclarativeFontLoader *fontObject = qobject_cast<QDeclarativeFontLoader*>(qvariant_cast<QObject *>(canvas.rootObject()->property("fontloader"))); + QVERIFY(fontObject != 0); + QTRY_VERIFY(fontObject->status() == QDeclarativeFontLoader::Ready); + QVERIFY(fontObject->source() != QUrl("")); + QTRY_COMPARE(fontObject->name(), QString("OCRA")); + + canvas.rootObject()->setProperty("usename", true); + QEXPECT_FAIL("", "QTBUG-20268", Abort); + QTRY_VERIFY(fontObject->status() == QDeclarativeFontLoader::Ready); + QCOMPARE(canvas.rootObject()->property("name").toString(), QString("Tahoma")); +} + QTEST_MAIN(tst_qdeclarativefontloader) #include "tst_qdeclarativefontloader.moc" |