#include <QtQuick/QQuickView>
#include <QtQuick/QQuickItem>
-#define SERVER_PORT 14448
+#define SERVER_PORT 14457
+#define SERVER_ADDR "http://localhost:14457"
class tst_qquickfontloader : public QQmlDataTest
{
void tst_qquickfontloader::localFont()
{
- QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" + testFile("tarzeau_ocr_a.ttf") + "\" }";
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
+ QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" + testFileUrl("tarzeau_ocr_a.ttf").toString() + "\" }";
QQmlComponent component(&engine);
component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QQuickFontLoader *fontObject = qobject_cast<QQuickFontLoader*>(component.create());
void tst_qquickfontloader::failLocalFont()
{
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" + testFileUrl("dummy.ttf").toString() + "\" }";
QTest::ignoreMessage(QtWarningMsg, QString("file::2:1: QML FontLoader: Cannot load font: \"" + testFileUrl("dummy.ttf").toString() + "\"").toUtf8().constData());
QQmlComponent component(&engine);
void tst_qquickfontloader::webFont()
{
- QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"http://localhost:14448/tarzeau_ocr_a.ttf\" }";
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
+ QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" SERVER_ADDR "/tarzeau_ocr_a.ttf\" }";
QQmlComponent component(&engine);
component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
void tst_qquickfontloader::redirWebFont()
{
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
server.addRedirect("olddir/oldname.ttf","../tarzeau_ocr_a.ttf");
- QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"http://localhost:14448/olddir/oldname.ttf\" }";
+ QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" SERVER_ADDR "/olddir/oldname.ttf\" }";
QQmlComponent component(&engine);
component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
void tst_qquickfontloader::failWebFont()
{
- QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"http://localhost:14448/nonexist.ttf\" }";
- QTest::ignoreMessage(QtWarningMsg, "file::2:1: QML FontLoader: Cannot load font: \"http://localhost:14448/nonexist.ttf\"");
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
+ QString componentStr = "import QtQuick 2.0\nFontLoader { source: \"" SERVER_ADDR "/nonexist.ttf\" }";
+ QTest::ignoreMessage(QtWarningMsg, "file::2:1: QML FontLoader: Cannot load font: \"" SERVER_ADDR "/nonexist.ttf\"");
QQmlComponent component(&engine);
component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QQuickFontLoader *fontObject = qobject_cast<QQuickFontLoader*>(component.create());
void tst_qquickfontloader::changeFont()
{
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
QString componentStr = "import QtQuick 2.0\nFontLoader { source: font }";
QQmlContext *ctxt = engine.rootContext();
ctxt->setContextProperty("font", testFileUrl("tarzeau_ocr_a.ttf"));
QCOMPARE(statusSpy.count(), 0);
QTRY_COMPARE(fontObject->name(), QString("OCRA"));
- ctxt->setContextProperty("font", "http://localhost:14448/daniel.ttf");
+ ctxt->setContextProperty("font", SERVER_ADDR "/daniel.ttf");
QTRY_VERIFY(fontObject->status() == QQuickFontLoader::Loading);
QTRY_VERIFY(fontObject->status() == QQuickFontLoader::Ready);
QCOMPARE(nameSpy.count(), 1);
QCOMPARE(statusSpy.count(), 2);
QTRY_COMPARE(fontObject->name(), QString("OCRA"));
- ctxt->setContextProperty("font", "http://localhost:14448/daniel.ttf");
+ ctxt->setContextProperty("font", SERVER_ADDR "/daniel.ttf");
QTRY_VERIFY(fontObject->status() == QQuickFontLoader::Ready);
QCOMPARE(nameSpy.count(), 3);
QCOMPARE(statusSpy.count(), 2);
void tst_qquickfontloader::changeFontSourceViaState()
{
- QQuickView canvas(testFileUrl("qtbug-20268.qml"));
- canvas.show();
- canvas.requestActivateWindow();
- QTest::qWaitForWindowShown(&canvas);
- QTRY_COMPARE(&canvas, qGuiApp->focusWindow());
-
- QQuickFontLoader *fontObject = qobject_cast<QQuickFontLoader*>(qvariant_cast<QObject *>(canvas.rootObject()->property("fontloader")));
+#if defined(Q_OS_WIN)
+ QSKIP("Windows doesn't support font loading.");
+#endif
+ QQuickView window(testFileUrl("qtbug-20268.qml"));
+ window.show();
+ window.requestActivateWindow();
+ QTest::qWaitForWindowShown(&window);
+ QTRY_COMPARE(&window, qGuiApp->focusWindow());
+
+ QQuickFontLoader *fontObject = qobject_cast<QQuickFontLoader*>(qvariant_cast<QObject *>(window.rootObject()->property("fontloader")));
QVERIFY(fontObject != 0);
QTRY_VERIFY(fontObject->status() == QQuickFontLoader::Ready);
QVERIFY(fontObject->source() != QUrl(""));
QTRY_COMPARE(fontObject->name(), QString("OCRA"));
- canvas.rootObject()->setProperty("usename", true);
+ window.rootObject()->setProperty("usename", true);
// This warning should probably not be printed once QTBUG-20268 is fixed
QString warning = QString(testFileUrl("qtbug-20268.qml").toString()) +
QEXPECT_FAIL("", "QTBUG-20268", Abort);
QTRY_VERIFY(fontObject->status() == QQuickFontLoader::Ready);
- QCOMPARE(canvas.rootObject()->property("name").toString(), QString("Tahoma"));
+ QCOMPARE(window.rootObject()->property("name").toString(), QString("Tahoma"));
}
QTEST_MAIN(tst_qquickfontloader)