summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui')
-rw-r--r--tests/auto/gui/image/qicon/fallback_icons/red.pngbin0 -> 105 bytes
-rw-r--r--tests/auto/gui/image/qicon/qicon.pro2
-rw-r--r--tests/auto/gui/image/qicon/tst_qicon.cpp11
-rw-r--r--tests/auto/gui/image/qicon/tst_qicon.qrc1
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro8
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp77
-rw-r--r--tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp26
-rw-r--r--tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp22
-rw-r--r--tests/auto/gui/kernel/qrasterwindow/tst_qrasterwindow.cpp2
-rw-r--r--tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp14
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST7
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp61
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp3
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp4
-rw-r--r--tests/auto/gui/painting/qregion/tst_qregion.cpp29
-rw-r--r--tests/auto/gui/qopengl/tst_qopengl.cpp2
-rw-r--r--tests/auto/gui/qvulkan/tst_qvulkan.cpp2
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp4
-rw-r--r--tests/auto/gui/text/qfont/BLACKLIST4
-rw-r--r--tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp10
-rw-r--r--tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp10
-rw-r--r--tests/auto/gui/text/qrawfont/BLACKLIST4
-rw-r--r--tests/auto/gui/text/qrawfont/tst_qrawfont.cpp39
-rw-r--r--tests/auto/gui/text/qstatictext/tst_qstatictext.cpp59
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp2
-rw-r--r--tests/auto/gui/text/qtextformat/tst_qtextformat.cpp9
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp2
-rw-r--r--tests/auto/gui/text/qtextscriptengine/BLACKLIST2
28 files changed, 330 insertions, 86 deletions
diff --git a/tests/auto/gui/image/qicon/fallback_icons/red.png b/tests/auto/gui/image/qicon/fallback_icons/red.png
new file mode 100644
index 0000000000..4a843e744f
--- /dev/null
+++ b/tests/auto/gui/image/qicon/fallback_icons/red.png
Binary files differ
diff --git a/tests/auto/gui/image/qicon/qicon.pro b/tests/auto/gui/image/qicon/qicon.pro
index b3c60bf32b..c96f0555ad 100644
--- a/tests/auto/gui/image/qicon/qicon.pro
+++ b/tests/auto/gui/image/qicon/qicon.pro
@@ -6,4 +6,4 @@ qtHaveModule(widgets): QT += widgets
SOURCES += tst_qicon.cpp
RESOURCES = tst_qicon.qrc tst_qicon.cpp
-TESTDATA += icons/* second_icons/* *.png *.svg *.svgz
+TESTDATA += icons/* second_icons/* fallback_icons/* *.png *.svg *.svgz
diff --git a/tests/auto/gui/image/qicon/tst_qicon.cpp b/tests/auto/gui/image/qicon/tst_qicon.cpp
index bf8f7ade9e..b1a4e4312f 100644
--- a/tests/auto/gui/image/qicon/tst_qicon.cpp
+++ b/tests/auto/gui/image/qicon/tst_qicon.cpp
@@ -554,6 +554,11 @@ void tst_QIcon::fromTheme()
QCOMPARE(firstSearchPath, QIcon::themeSearchPaths()[0]);
QCOMPARE(secondSearchPath, QIcon::themeSearchPaths()[1]);
+ QString fallbackSearchPath = QStringLiteral(":/fallback_icons");
+ QIcon::setFallbackSearchPaths(QStringList() << fallbackSearchPath);
+ QCOMPARE(QIcon::fallbackSearchPaths().size(), 1);
+ QCOMPARE(fallbackSearchPath, QIcon::fallbackSearchPaths().at(0));
+
QString themeName("testtheme");
QIcon::setThemeName(themeName);
QCOMPARE(QIcon::themeName(), themeName);
@@ -580,6 +585,12 @@ void tst_QIcon::fromTheme()
QVERIFY(QIcon::hasThemeIcon("address-book-new"));
QVERIFY(!abIcon.availableSizes().isEmpty());
+ // Test icon from fallback path
+ QIcon fallbackIcon = QIcon::fromTheme("red");
+ QVERIFY(!fallbackIcon.isNull());
+ QVERIFY(QIcon::hasThemeIcon("red"));
+ QCOMPARE(fallbackIcon.availableSizes().size(), 1);
+
// Test non existing icon
QIcon noIcon = QIcon::fromTheme("broken-icon");
QVERIFY(noIcon.isNull());
diff --git a/tests/auto/gui/image/qicon/tst_qicon.qrc b/tests/auto/gui/image/qicon/tst_qicon.qrc
index 3c8fbba7c2..4b347ec88c 100644
--- a/tests/auto/gui/image/qicon/tst_qicon.qrc
+++ b/tests/auto/gui/image/qicon/tst_qicon.qrc
@@ -6,6 +6,7 @@
<file>./icons/testtheme/16x16/actions/appointment-new.png</file>
<file>./icons/testtheme/22x22/actions/appointment-new.png</file>
<file>./second_icons/testtheme/32x32/actions/appointment-new.png</file>
+<file>./fallback_icons/red.png</file>
<file>./icons/testtheme/index.theme</file>
<file>./icons/testtheme/scalable/actions/svg-only.svg</file>
<file>./icons/themeparent/16x16/actions/address-book-new.png</file>
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro b/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro
index 3c12a83f5a..147ca62528 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/qstandarditemmodel.pro
@@ -4,10 +4,4 @@ TARGET = tst_qstandarditemmodel
QT += widgets widgets-private testlib
QT += core-private gui-private
-mtdir = ../../../other/modeltest
-
-INCLUDEPATH += $${mtdir}
-
-SOURCES += $${mtdir}/modeltest.cpp tst_qstandarditemmodel.cpp
-HEADERS += $${mtdir}/modeltest.h
-
+SOURCES += tst_qstandarditemmodel.cpp
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index 2f5537adfe..d393ac70da 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -32,7 +32,6 @@
#include <qstandarditemmodel.h>
#include <QTreeView>
#include <private/qtreeview_p.h>
-#include "modeltest.h"
class tst_QStandardItemModel : public QObject
{
@@ -130,12 +129,15 @@ private slots:
void getMimeDataWithInvalidModelIndex();
void supportedDragDropActions();
+ void taskQTBUG_45114_setItemData();
+
private:
QAbstractItemModel *m_model;
QPersistentModelIndex persistent;
QVector<QModelIndex> rcParent;
QVector<int> rcFirst;
QVector<int> rcLast;
+ QVector<int> currentRoles;
//return true if models have the same structure, and all child have the same text
bool compareModels(QStandardItemModel *model1, QStandardItemModel *model2);
@@ -185,6 +187,12 @@ void tst_QStandardItemModel::init()
connect(m_model, SIGNAL(columnsRemoved(QModelIndex,int,int)),
this, SLOT(columnsRemoved(QModelIndex,int,int)));
+ connect(m_model, &QAbstractItemModel::dataChanged,
+ this, [this](const QModelIndex &, const QModelIndex &, const QVector<int> &roles)
+ {
+ currentRoles = roles;
+ });
+
rcFirst.fill(-1);
rcLast.fill(-1);
}
@@ -711,15 +719,20 @@ void tst_QStandardItemModel::checkChildren()
void tst_QStandardItemModel::data()
{
+ currentRoles.clear();
// bad args
m_model->setData(QModelIndex(), "bla", Qt::DisplayRole);
+ QCOMPARE(currentRoles, {});
QIcon icon;
for (int r=0; r < m_model->rowCount(); ++r) {
for (int c=0; c < m_model->columnCount(); ++c) {
m_model->setData(m_model->index(r,c), "initialitem", Qt::DisplayRole);
+ QCOMPARE(currentRoles, QVector<int>({Qt::DisplayRole, Qt::EditRole}));
m_model->setData(m_model->index(r,c), "tooltip", Qt::ToolTipRole);
+ QCOMPARE(currentRoles, {Qt::ToolTipRole});
m_model->setData(m_model->index(r,c), icon, Qt::DecorationRole);
+ QCOMPARE(currentRoles, {Qt::DecorationRole});
}
}
@@ -740,7 +753,7 @@ void tst_QStandardItemModel::clear()
QSignalSpy layoutChangedSpy(&model, SIGNAL(layoutChanged()));
QSignalSpy rowsRemovedSpy(&model, SIGNAL(rowsRemoved(QModelIndex,int,int)));
- ModelTest mt(&model);
+ QAbstractItemModelTester mt(&model);
model.clear();
@@ -1701,5 +1714,65 @@ void tst_QStandardItemModel::supportedDragDropActions()
QCOMPARE(model.supportedDropActions(), Qt::CopyAction | Qt::MoveAction);
}
+void tst_QStandardItemModel::taskQTBUG_45114_setItemData()
+{
+ QStandardItemModel model;
+ QSignalSpy spy(&model, &QStandardItemModel::itemChanged);
+
+ QStandardItem *item = new QStandardItem("item");
+ item->setData(1, Qt::UserRole + 1);
+ item->setData(2, Qt::UserRole + 2);
+ model.appendRow(item);
+
+ QModelIndex index = item->index();
+ QCOMPARE(model.itemData(index).size(), 3);
+
+ QCOMPARE(spy.count(), 0);
+
+ QMap<int, QVariant> roles;
+
+ roles.insert(Qt::UserRole + 1, 1);
+ roles.insert(Qt::UserRole + 2, 2);
+ model.setItemData(index, roles);
+
+ QCOMPARE(spy.count(), 0);
+
+ roles.insert(Qt::UserRole + 1, 1);
+ roles.insert(Qt::UserRole + 2, 2);
+ roles.insert(Qt::UserRole + 3, QVariant());
+ model.setItemData(index, roles);
+
+ QCOMPARE(spy.count(), 0);
+
+ roles.clear();
+ roles.insert(Qt::UserRole + 1, 10);
+ roles.insert(Qt::UserRole + 3, 12);
+ model.setItemData(index, roles);
+
+ QCOMPARE(spy.count(), 1);
+ QMap<int, QVariant> itemRoles = model.itemData(index);
+
+ QCOMPARE(itemRoles.size(), 4);
+ QCOMPARE(itemRoles[Qt::UserRole + 1].toInt(), 10);
+ QCOMPARE(itemRoles[Qt::UserRole + 2].toInt(), 2);
+ QCOMPARE(itemRoles[Qt::UserRole + 3].toInt(), 12);
+
+ roles.clear();
+ roles.insert(Qt::UserRole + 3, 1);
+ model.setItemData(index, roles);
+
+ QCOMPARE(spy.count(), 2);
+
+ roles.clear();
+ roles.insert(Qt::UserRole + 3, QVariant());
+ model.setItemData(index, roles);
+
+ QCOMPARE(spy.count(), 3);
+
+ itemRoles = model.itemData(index);
+ QCOMPARE(itemRoles.size(), 3);
+ QVERIFY(!itemRoles.keys().contains(Qt::UserRole + 3));
+}
+
QTEST_MAIN(tst_QStandardItemModel)
#include "tst_qstandarditemmodel.moc"
diff --git a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
index 6ba488aaa7..4f27aeb899 100644
--- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
+++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
@@ -68,6 +68,7 @@ private slots:
void changeFocusWindow();
void keyboardModifiers();
void palette();
+ void font();
void modalWindow();
void quitOnLastWindowClosed();
void quitOnLastWindowClosedMulti();
@@ -524,6 +525,31 @@ void tst_QGuiApplication::palette()
QCOMPARE(signalSpy.count(), 2);
}
+void tst_QGuiApplication::font()
+{
+ int argc = 1;
+ char *argv[] = { const_cast<char*>("tst_qguiapplication") };
+ QGuiApplication app(argc, argv);
+ QSignalSpy signalSpy(&app, SIGNAL(fontChanged(QFont)));
+
+ QFont oldFont = QGuiApplication::font();
+ QFont newFont = QFont("BogusFont", 33);
+
+ QGuiApplication::setFont(newFont);
+ QCOMPARE(QGuiApplication::font(), newFont);
+ QCOMPARE(signalSpy.count(), 1);
+ QCOMPARE(signalSpy.at(0).at(0), QVariant(newFont));
+
+ QGuiApplication::setFont(oldFont);
+ QCOMPARE(QGuiApplication::font(), oldFont);
+ QCOMPARE(signalSpy.count(), 2);
+ QCOMPARE(signalSpy.at(1).at(0), QVariant(oldFont));
+
+ QGuiApplication::setFont(oldFont);
+ QCOMPARE(QGuiApplication::font(), oldFont);
+ QCOMPARE(signalSpy.count(), 2);
+}
+
class BlockableWindow : public QWindow
{
Q_OBJECT
diff --git a/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp b/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
index d882dc3888..8ffd1bb9b4 100644
--- a/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
+++ b/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
@@ -74,17 +74,17 @@ public:
initCount = resizeCount = paintCount = 0;
}
- void initializeGL() Q_DECL_OVERRIDE {
+ void initializeGL() override {
++initCount;
}
- void resizeGL(int w, int h) Q_DECL_OVERRIDE {
+ void resizeGL(int w, int h) override {
++resizeCount;
QCOMPARE(w, size().width());
QCOMPARE(h, size().height());
}
- void paintGL() Q_DECL_OVERRIDE {
+ void paintGL() override {
++paintCount;
QOpenGLContext *ctx = QOpenGLContext::currentContext();
@@ -144,7 +144,7 @@ void tst_QOpenGLWindow::basic()
class PainterWindow : public QOpenGLWindow
{
public:
- void paintGL() Q_DECL_OVERRIDE {
+ void paintGL() override {
QOpenGLContext *ctx = QOpenGLContext::currentContext();
QVERIFY(ctx);
QCOMPARE(ctx, context());
@@ -183,7 +183,7 @@ public:
PartialPainterWindow(QOpenGLWindow::UpdateBehavior u)
: QOpenGLWindow(u), x(0) { }
- void paintGL() Q_DECL_OVERRIDE {
+ void paintGL() override {
++paintCount;
QPainter p(this);
@@ -244,7 +244,7 @@ public:
Error
} m_state;
- void paintUnderGL() Q_DECL_OVERRIDE {
+ void paintUnderGL() override {
if (m_state == None || m_state == PaintOver)
m_state = PaintUnder;
else
@@ -252,10 +252,10 @@ public:
GLuint fbo = 0xFFFF;
QOpenGLContext::currentContext()->functions()->glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint *) &fbo);
- QCOMPARE(fbo, GLuint(0));
+ QCOMPARE(fbo, QOpenGLContext::currentContext()->defaultFramebufferObject());
}
- void paintGL() Q_DECL_OVERRIDE {
+ void paintGL() override {
if (m_state == PaintUnder)
m_state = Paint;
else
@@ -264,11 +264,11 @@ public:
// Using PartialUpdateBlend so paintGL() targets a user fbo, not the default.
GLuint fbo = 0xFFFF;
QOpenGLContext::currentContext()->functions()->glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint *) &fbo);
- QVERIFY(fbo != 0);
+ QVERIFY(fbo != QOpenGLContext::currentContext()->defaultFramebufferObject());
QCOMPARE(fbo, defaultFramebufferObject());
}
- void paintOverGL() Q_DECL_OVERRIDE {
+ void paintOverGL() override {
if (m_state == Paint)
m_state = PaintOver;
else
@@ -276,7 +276,7 @@ public:
GLuint fbo = 0xFFFF;
QOpenGLContext::currentContext()->functions()->glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint *) &fbo);
- QCOMPARE(fbo, GLuint(0));
+ QCOMPARE(fbo, QOpenGLContext::currentContext()->defaultFramebufferObject());
}
};
diff --git a/tests/auto/gui/kernel/qrasterwindow/tst_qrasterwindow.cpp b/tests/auto/gui/kernel/qrasterwindow/tst_qrasterwindow.cpp
index 3421622fe3..ffc440ac2d 100644
--- a/tests/auto/gui/kernel/qrasterwindow/tst_qrasterwindow.cpp
+++ b/tests/auto/gui/kernel/qrasterwindow/tst_qrasterwindow.cpp
@@ -54,7 +54,7 @@ class PainterWindow : public QRasterWindow
public:
void reset() { paintCount = 0; }
- void paintEvent(QPaintEvent*) Q_DECL_OVERRIDE {
+ void paintEvent(QPaintEvent*) override {
++paintCount;
QPainter p(this);
p.fillRect(QRect(0, 0, 100, 100), Qt::blue);
diff --git a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
index ec143896ab..706c66ef14 100644
--- a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
+++ b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
@@ -48,7 +48,7 @@ public:
ulong timestamp;
QTouchDevice *deviceFromEvent;
- explicit tst_QTouchEventWidget(QWidget *parent = Q_NULLPTR) : QWidget(parent)
+ explicit tst_QTouchEventWidget(QWidget *parent = nullptr) : QWidget(parent)
{
reset();
}
@@ -63,7 +63,7 @@ public:
deleteInTouchBegin = deleteInTouchUpdate = deleteInTouchEnd = false;
}
- bool event(QEvent *event) Q_DECL_OVERRIDE
+ bool event(QEvent *event) override
{
switch (event->type()) {
case QEvent::TouchBegin:
@@ -117,7 +117,7 @@ public:
bool deleteInTouchBegin, deleteInTouchUpdate, deleteInTouchEnd;
tst_QTouchEventGraphicsItem **weakpointer;
- explicit tst_QTouchEventGraphicsItem(QGraphicsItem *parent = Q_NULLPTR)
+ explicit tst_QTouchEventGraphicsItem(QGraphicsItem *parent = nullptr)
: QGraphicsItem(parent), weakpointer(0)
{
reset();
@@ -140,13 +140,13 @@ public:
deleteInTouchBegin = deleteInTouchUpdate = deleteInTouchEnd = false;
}
- QRectF boundingRect() const Q_DECL_OVERRIDE { return QRectF(0, 0, 10, 10); }
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) Q_DECL_OVERRIDE
+ QRectF boundingRect() const override { return QRectF(0, 0, 10, 10); }
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override
{
painter->fillRect(QRectF(QPointF(0, 0), boundingRect().size()), Qt::yellow);
}
- bool sceneEvent(QEvent *event) Q_DECL_OVERRIDE
+ bool sceneEvent(QEvent *event) override
{
switch (event->type()) {
case QEvent::TouchBegin:
@@ -1628,7 +1628,7 @@ class WindowTouchEventFilter : public QObject
{
Q_OBJECT
public:
- bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject *obj, QEvent *event) override;
struct TouchInfo {
QList<QTouchEvent::TouchPoint> points;
QEvent::Type lastSeenType;
diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST
index 9108cf2c1f..05cf1b5a30 100644
--- a/tests/auto/gui/kernel/qwindow/BLACKLIST
+++ b/tests/auto/gui/kernel/qwindow/BLACKLIST
@@ -1,19 +1,14 @@
[positioning:default]
-ubuntu-14.04
-ubuntu-16.04
+linux
osx-10.12 ci
[positioning:fake]
osx-10.12 ci
[modalWindowPosition]
-ubuntu-14.04
ubuntu-16.04
[modalWithChildWindow]
-ubuntu-14.04
ubuntu-16.04
[setVisible]
-ubuntu-14.04
[modalWindowEnterEventOnHide_QTBUG35109]
-ubuntu-14.04
ubuntu-16.04
osx ci
[modalDialogClosingOneOfTwoModal]
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index f1c4f970cd..18723458f6 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -106,6 +106,7 @@ private slots:
void flags();
void cleanup();
void testBlockingWindowShownAfterModalDialog();
+ void generatedMouseMove();
private:
QPoint m_availableTopLeft;
@@ -352,7 +353,7 @@ private:
class ColoredWindow : public QRasterWindow {
public:
explicit ColoredWindow(const QColor &color, QWindow *parent = 0) : QRasterWindow(parent), m_color(color) {}
- void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE
+ void paintEvent(QPaintEvent *) override
{
QPainter p(this);
p.fillRect(QRect(QPoint(0, 0), size()), m_color);
@@ -702,7 +703,7 @@ class PlatformWindowFilter : public QObject
public:
PlatformWindowFilter(QObject *parent = 0)
: QObject(parent)
- , m_window(Q_NULLPTR)
+ , m_window(nullptr)
, m_alwaysExisted(true)
{}
@@ -714,7 +715,7 @@ public:
// If they are, the native platform surface should always exist when we
// receive a QPlatformSurfaceEvent
if (e->type() == QEvent::PlatformSurface && o == m_window) {
- m_alwaysExisted &= (m_window->handle() != Q_NULLPTR);
+ m_alwaysExisted &= (m_window->handle() != nullptr);
}
return false;
}
@@ -741,7 +742,7 @@ void tst_QWindow::platformSurface()
QTRY_COMPARE(window.received(QEvent::PlatformSurface), 1);
QTRY_COMPARE(window.surfaceEventType(), QPlatformSurfaceEvent::SurfaceCreated);
- QTRY_VERIFY(window.handle() != Q_NULLPTR);
+ QTRY_VERIFY(window.handle() != nullptr);
window.destroy();
QTRY_COMPARE(window.received(QEvent::PlatformSurface), 2);
@@ -918,6 +919,7 @@ public:
}
}
void mouseMoveEvent(QMouseEvent *event) {
+ buttonStateInGeneratedMove = event->buttons();
if (ignoreMouse) {
event->ignore();
} else {
@@ -999,6 +1001,7 @@ public:
bool ignoreMouse, ignoreTouch;
bool spinLoopWhenPressed;
+ Qt::MouseButtons buttonStateInGeneratedMove;
};
void tst_QWindow::testInputEvents()
@@ -2313,6 +2316,56 @@ void tst_QWindow::testBlockingWindowShownAfterModalDialog()
QVERIFY(normalWindowAfter.gotBlocked);
}
+void tst_QWindow::generatedMouseMove()
+{
+ InputTestWindow w;
+ w.setGeometry(QRect(m_availableTopLeft + QPoint(100, 100), m_testWindowSize));
+ w.show();
+ QVERIFY(QTest::qWaitForWindowActive(&w));
+ QPoint point(10, 10);
+ QPoint step(2, 2);
+
+ QVERIFY(w.mouseMovedCount == 0);
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::NoButton, Qt::NoButton, QEvent::MouseMove);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 1);
+ // Press that does not change position should not generate mouse move
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::LeftButton, Qt::LeftButton, QEvent::MouseButtonPress);
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::LeftButton | Qt::RightButton, Qt::RightButton, QEvent::MouseButtonPress);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 1);
+
+ // Test moves generated for mouse release
+ point += step;
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::RightButton, Qt::LeftButton, QEvent::MouseButtonRelease);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 2);
+ QVERIFY(w.buttonStateInGeneratedMove == (Qt::LeftButton | Qt::RightButton));
+ point += step;
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::NoButton, Qt::RightButton, QEvent::MouseButtonRelease);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 3);
+ QVERIFY(w.buttonStateInGeneratedMove == Qt::RightButton);
+
+ // Test moves generated for mouse press
+ point += step;
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::LeftButton, Qt::LeftButton, QEvent::MouseButtonPress);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 4);
+ QVERIFY(w.buttonStateInGeneratedMove == Qt::NoButton);
+ point += step;
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::LeftButton | Qt::RightButton, Qt::RightButton, QEvent::MouseButtonPress);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 5);
+ QVERIFY(w.buttonStateInGeneratedMove == Qt::LeftButton);
+
+ // Release that does not change position should not generate mouse move
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::LeftButton, Qt::RightButton, QEvent::MouseButtonRelease);
+ QWindowSystemInterface::handleMouseEvent(&w, point, point, Qt::NoButton, Qt::LeftButton, QEvent::MouseButtonRelease);
+ QCoreApplication::processEvents();
+ QVERIFY(w.mouseMovedCount == 5);
+}
+
#include <tst_qwindow.moc>
QTEST_MAIN(tst_QWindow)
diff --git a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
index 6809aea086..67d30d7c9a 100644
--- a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
+++ b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
@@ -1423,9 +1423,6 @@ void tst_QColor::achromaticHslHue()
#if 0 // Used to be included in Qt4 for Q_WS_X11
void tst_QColor::setallowX11ColorNames()
{
-#if defined(Q_OS_IRIX)
- QSKIP("This fails due to the gamma settings in the SGI X server");
-#endif
RGBData x11RgbTbl[] = {
// a few standard X11 color names
{ "DodgerBlue1", qRgb(30, 144, 255) },
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index b8243a2b54..8dfaa6f5cd 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -2827,7 +2827,7 @@ void tst_QPainter::monoImages()
}
}
-#if !defined(Q_OS_IRIX) && !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__)
+#if !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__)
#include <fenv.h>
static const QString fpeExceptionString(int exception)
@@ -4498,7 +4498,7 @@ void tst_QPainter::drawText_subPixelPositionsInRaster_qtbug5053()
{
QFontMetricsF fm(qApp->font());
- QImage baseLine(fm.width(QChar::fromLatin1('e')), fm.height(), QImage::Format_RGB32);
+ QImage baseLine(fm.horizontalAdvance(QChar::fromLatin1('e')), fm.height(), QImage::Format_RGB32);
baseLine.fill(Qt::white);
{
QPainter p(&baseLine);
diff --git a/tests/auto/gui/painting/qregion/tst_qregion.cpp b/tests/auto/gui/painting/qregion/tst_qregion.cpp
index b20ad0f33c..5256fbd1dc 100644
--- a/tests/auto/gui/painting/qregion/tst_qregion.cpp
+++ b/tests/auto/gui/painting/qregion/tst_qregion.cpp
@@ -158,15 +158,19 @@ void tst_QRegion::rects()
QRegion region(rect);
QVERIFY(region.isEmpty());
QCOMPARE(region.begin(), region.end());
+#if QT_DEPRECATED_SINCE(5, 11)
QVERIFY(region.rects().isEmpty());
+#endif
}
{
QRect rect(10, -20, 30, 40);
QRegion region(rect);
QCOMPARE(region.end(), region.begin() + 1);
QCOMPARE(*region.begin(), rect);
+#if QT_DEPRECATED_SINCE(5, 11)
QCOMPARE(region.rects().count(), 1);
QCOMPARE(region.rects()[0], rect);
+#endif
}
{
QRect r(QPoint(10, 10), QPoint(40, 40));
@@ -193,8 +197,8 @@ void tst_QRegion::swap()
QRegion r1(QRect(0, 0,10,10));
QRegion r2(QRect(10,10,10,10));
r1.swap(r2);
- QCOMPARE(r1.rects().front(), QRect(10,10,10,10));
- QCOMPARE(r2.rects().front(), QRect(0, 0,10,10));
+ QCOMPARE(*r1.begin(), QRect(10,10,10,10));
+ QCOMPARE(*r2.begin(), QRect(0, 0,10,10));
}
void tst_QRegion::setRects()
@@ -202,7 +206,8 @@ void tst_QRegion::setRects()
{
QRegion region;
region.setRects(0, 0);
- QVERIFY(region.rects().isEmpty());
+ QVERIFY(region.isEmpty());
+ QCOMPARE(region.begin(), region.end());
}
{
QRegion region;
@@ -212,7 +217,9 @@ void tst_QRegion::setRects()
QCOMPARE(region, QRegion());
QCOMPARE(region.begin(), region.end());
QVERIFY(!region.boundingRect().isValid());
+#if QT_DEPRECATED_SINCE(5, 11)
QVERIFY(region.rects().isEmpty());
+#endif
}
{
QRegion region;
@@ -220,15 +227,19 @@ void tst_QRegion::setRects()
region.setRects(&rect, 1);
QCOMPARE(region.begin(), region.end());
QVERIFY(!region.boundingRect().isValid());
+#if QT_DEPRECATED_SINCE(5, 11)
QVERIFY(region.rects().isEmpty());
+#endif
}
{
QRegion region;
QRect rect(10, -20, 30, 40);
region.setRects(&rect, 1);
QCOMPARE(region.end(), region.begin() + 1);
+#if QT_DEPRECATED_SINCE(5, 11)
QCOMPARE(region.rects().count(), 1);
QCOMPARE(region.rects()[0], rect);
+#endif
QCOMPARE(*region.begin(), rect);
}
}
@@ -345,9 +356,11 @@ void tst_QRegion::emptyPolygonRegion()
QTEST(int(std::distance(r.begin(), r.end())), "numRects");
QVector<QRect> rects;
std::copy(r.begin(), r.end(), std::back_inserter(rects));
- QTEST(r.rects().count(), "numRects");
- QTEST(r.rects(), "rects");
+ QTEST(rects.size(), "numRects");
+ QTEST(rects, "rects");
+#if QT_DEPRECATED_SINCE(5, 11)
QCOMPARE(r.rects(), rects);
+#endif
}
@@ -890,7 +903,9 @@ void tst_QRegion::isEmpty()
QCOMPARE(region, QRegion());
QCOMPARE(region.rectCount(), 0);
QCOMPARE(region.boundingRect(), QRect());
+#if QT_DEPRECATED_SINCE(5, 11)
QVERIFY(region.rects().isEmpty());
+#endif
}
#if 0 /* Used to be included in Qt4 for Q_WS_X11 */ && defined(QT_BUILD_INTERNAL)
@@ -924,9 +939,11 @@ void tst_QRegion::regionFromPath()
QCOMPARE(rgn.begin()[0], QRect(0, 0, 10, 10));
QCOMPARE(rgn.begin()[1], QRect(0, 100, 100, 1000));
+#if QT_DEPRECATED_SINCE(5, 11)
QCOMPARE(rgn.rects().size(), 2);
QCOMPARE(rgn.rects().at(0), QRect(0, 0, 10, 10));
QCOMPARE(rgn.rects().at(1), QRect(0, 100, 100, 1000));
+#endif
QCOMPARE(rgn.boundingRect(), QRect(0, 0, 100, 1100));
}
@@ -944,11 +961,13 @@ void tst_QRegion::regionFromPath()
QCOMPARE(rgn.begin()[2], QRect(90, 10, 10, 80));
QCOMPARE(rgn.begin()[3], QRect(0, 90, 100, 10));
+#if QT_DEPRECATED_SINCE(5, 11)
QCOMPARE(rgn.rects().size(), 4);
QCOMPARE(rgn.rects().at(0), QRect(0, 0, 100, 10));
QCOMPARE(rgn.rects().at(1), QRect(0, 10, 10, 80));
QCOMPARE(rgn.rects().at(2), QRect(90, 10, 10, 80));
QCOMPARE(rgn.rects().at(3), QRect(0, 90, 100, 10));
+#endif
QCOMPARE(rgn.boundingRect(), QRect(0, 0, 100, 100));
}
diff --git a/tests/auto/gui/qopengl/tst_qopengl.cpp b/tests/auto/gui/qopengl/tst_qopengl.cpp
index 82b3657b56..5b1af9b6c9 100644
--- a/tests/auto/gui/qopengl/tst_qopengl.cpp
+++ b/tests/auto/gui/qopengl/tst_qopengl.cpp
@@ -1593,7 +1593,7 @@ void tst_QOpenGL::defaultQGLCurrentBuffer()
ctx->makeCurrent(surface.data());
// Bind default FBO on the current context, and record what's the current QGL FBO. It should
- // be Q_NULLPTR because the default platform OpenGL FBO is not backed by a
+ // be nullptr because the default platform OpenGL FBO is not backed by a
// QOpenGLFramebufferObject.
QOpenGLFramebufferObject::bindDefault();
QOpenGLFramebufferObject *defaultQFBO = QOpenGLContextPrivate::get(ctx.data())->qgl_current_fbo;
diff --git a/tests/auto/gui/qvulkan/tst_qvulkan.cpp b/tests/auto/gui/qvulkan/tst_qvulkan.cpp
index cc4bc43f92..c80c3fed97 100644
--- a/tests/auto/gui/qvulkan/tst_qvulkan.cpp
+++ b/tests/auto/gui/qvulkan/tst_qvulkan.cpp
@@ -166,7 +166,7 @@ static void waitForUnexposed(QWindow *w)
if (remaining <= 0)
break;
QCoreApplication::processEvents(QEventLoop::AllEvents, remaining);
- QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete);
+ QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
QTest::qSleep(10);
}
}
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
index dbe5bf7cc6..2a53f5d633 100644
--- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
+++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
@@ -87,10 +87,8 @@ void tst_QCssParser::scanner_data()
#if defined(Q_OS_ANDROID) || defined(Q_OS_WINRT)
QDir d(":/");
-#elif !defined(Q_OS_IRIX)
- QDir d(SRCDIR);
#else
- QDir d(QDir::current());
+ QDir d(SRCDIR);
#endif
d.cd("testdata");
d.cd("scanner");
diff --git a/tests/auto/gui/text/qfont/BLACKLIST b/tests/auto/gui/text/qfont/BLACKLIST
index 295c61ff12..42cb8408f4 100644
--- a/tests/auto/gui/text/qfont/BLACKLIST
+++ b/tests/auto/gui/text/qfont/BLACKLIST
@@ -1,6 +1,2 @@
-[exactMatch]
-# QTBUG-46054
-opensuse-13.1
-opensuse-42.1
[defaultFamily]
b2qt
diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
index e52cb63384..ebe9d3b992 100644
--- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
+++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
@@ -312,7 +312,7 @@ void tst_QFontDatabase::condensedFontWidth()
QFont testFontCondensed("QtBidiTestFontCondensed");
QFontMetrics fmTF(testFont);
QFontMetrics fmTFC(testFontCondensed);
- QVERIFY(fmTF.width(testString()) > fmTFC.width(testString()));
+ QVERIFY(fmTF.horizontalAdvance(testString()) > fmTFC.horizontalAdvance(testString()));
}
@@ -335,15 +335,15 @@ void tst_QFontDatabase::condensedFontMatching()
QEXPECT_FAIL("","No matching of sub-family by stretch on Windows", Continue);
#endif
- QCOMPARE(QFontMetrics(tfcByStretch).width(testString()),
- QFontMetrics(tfcByStyleName).width(testString()));
+ QCOMPARE(QFontMetrics(tfcByStretch).horizontalAdvance(testString()),
+ QFontMetrics(tfcByStyleName).horizontalAdvance(testString()));
if (!db.hasFamily("QtBidiTestFontCondensed"))
QSKIP("This platform doesn't support font sub-family names (QTBUG-55625)");
QFont tfcBySubfamilyName("QtBidiTestFontCondensed");
- QCOMPARE(QFontMetrics(tfcByStyleName).width(testString()),
- QFontMetrics(tfcBySubfamilyName).width(testString()));
+ QCOMPARE(QFontMetrics(tfcByStyleName).horizontalAdvance(testString()),
+ QFontMetrics(tfcBySubfamilyName).horizontalAdvance(testString()));
}
void tst_QFontDatabase::rasterFonts()
diff --git a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
index 0a422fca17..9e705b4a00 100644
--- a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
@@ -48,7 +48,7 @@ private slots:
void veryNarrowElidedText();
void averageCharWidth();
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#if QT_DEPRECATED_SINCE(5, 11) && QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
void bypassShaping();
#endif
@@ -167,7 +167,7 @@ void tst_QFontMetrics::elidedText()
QFETCH(QFont, font);
QFETCH(QString, text);
QFontMetrics fm(font);
- int w = fm.width(text);
+ int w = fm.horizontalAdvance(text);
QString newtext = fm.elidedText(text,Qt::ElideRight,w+1, 0);
QCOMPARE(text,newtext); // should not elide
newtext = fm.elidedText(text,Qt::ElideRight,w-1, 0);
@@ -191,7 +191,7 @@ void tst_QFontMetrics::averageCharWidth()
QVERIFY(fmf.averageCharWidth() != 0);
}
-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+#if QT_DEPRECATED_SINCE(5, 11) && QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
void tst_QFontMetrics::bypassShaping()
{
QFont f;
@@ -202,7 +202,7 @@ void tst_QFontMetrics::bypassShaping()
QVERIFY(textWidth != 0);
int charsWidth = 0;
for (int i = 0; i < text.size(); ++i)
- charsWidth += fm.width(text[i]);
+ charsWidth += fm.horizontalAdvance(text[i]);
// This assertion is needed in Qt WebKit's WebCore::Font::offsetForPositionForSimpleText
QCOMPARE(textWidth, charsWidth);
}
@@ -226,7 +226,7 @@ template<class FontMetrics, typename PrimitiveType> void elidedMultiLength_helpe
// Not even wide enough for "small" - should use ellipsis
QChar ellipsisChar(0x2026);
QString text1_el = QString::fromLatin1("s") + ellipsisChar;
- PrimitiveType width_small = fm.width(text1_el);
+ PrimitiveType width_small = fm.horizontalAdvance(text1_el);
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_small + 1), text1_el);
}
diff --git a/tests/auto/gui/text/qrawfont/BLACKLIST b/tests/auto/gui/text/qrawfont/BLACKLIST
deleted file mode 100644
index a614595689..0000000000
--- a/tests/auto/gui/text/qrawfont/BLACKLIST
+++ /dev/null
@@ -1,4 +0,0 @@
-[correctFontData]
-osx-10.8
-[unsupportedWritingSystem]
-osx-10.8
diff --git a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
index 37f94d0278..373ad7fef9 100644
--- a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
+++ b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
@@ -93,6 +93,9 @@ private slots:
void fallbackFontsOrder();
+ void qtbug65923_partal_clone_data();
+ void qtbug65923_partal_clone();
+
private:
QString testFont;
QString testFontBoldItalic;
@@ -1044,6 +1047,42 @@ void tst_QRawFont::fallbackFontsOrder()
fontDatabase.removeApplicationFont(id);
}
+void tst_QRawFont::qtbug65923_partal_clone_data()
+{
+ QTest::addColumn<bool>("shouldClone");
+
+ QTest::newRow("Without cloning font engine") << false;
+ QTest::newRow("Cloning font engine") << true;
+}
+
+void tst_QRawFont::qtbug65923_partal_clone()
+{
+ QFile file(testFont);
+ file.open(QIODevice::ReadOnly);
+ QByteArray fontData = file.readAll();
+
+ QRawFont outerFont;
+
+ {
+ QRawFont innerFont(fontData, 16, QFont::PreferDefaultHinting);
+
+ QFETCH(bool, shouldClone);
+ if (shouldClone) {
+ // This will trigger QFontEngine::cloneWithSize
+ innerFont.setPixelSize(innerFont.pixelSize() + 1);
+ }
+
+ outerFont = innerFont;
+ }
+
+ // This will detach if data is shared with the raw font. If the raw font has
+ // a naked reference to the data, without informing Qt of it via the ref count
+ // of the byte array, this will result in clearing 'live' data.
+ fontData.fill('\0');
+
+ QVERIFY(!outerFont.boundingRect(42).isEmpty());
+}
+
#endif // QT_NO_RAWFONT
QTEST_MAIN(tst_QRawFont)
diff --git a/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp b/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp
index f4e3356ad0..45cc94afad 100644
--- a/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp
+++ b/tests/auto/gui/text/qstatictext/tst_qstatictext.cpp
@@ -98,6 +98,8 @@ private slots:
void multiLine();
+ void size_qtbug65836();
+
private:
bool supportsTransformations() const;
@@ -639,7 +641,7 @@ void tst_QStaticText::setPenPlainText()
font.setStyleStrategy(QFont::NoAntialias);
QFontMetricsF fm(font);
- QImage image(qCeil(fm.width("XXXXX")), qCeil(fm.height()), format);
+ QImage image(qCeil(fm.horizontalAdvance("XXXXX")), qCeil(fm.height()), format);
image.fill(Qt::white);
{
QPainter p(&image);
@@ -662,7 +664,7 @@ void tst_QStaticText::setPenRichText()
font.setStyleStrategy(QFont::NoAntialias);
QFontMetricsF fm(font);
- QPixmap image(qCeil(fm.width("XXXXX")), qCeil(fm.height()));
+ QPixmap image(qCeil(fm.horizontalAdvance("XXXXX")), qCeil(fm.height()));
image.fill(Qt::white);
{
QPainter p(&image);
@@ -686,7 +688,7 @@ void tst_QStaticText::richTextOverridesPen()
font.setStyleStrategy(QFont::NoAntialias);
QFontMetricsF fm(font);
- QPixmap image(qCeil(fm.width("XXXXX")), qCeil(fm.height()));
+ QPixmap image(qCeil(fm.horizontalAdvance("XXXXX")), qCeil(fm.height()));
image.fill(Qt::white);
{
QPainter p(&image);
@@ -862,19 +864,19 @@ void tst_QStaticText::textDocumentColor()
class TestPaintEngine: public QPaintEngine
{
public:
- void drawTextItem(const QPointF &p, const QTextItem &) Q_DECL_OVERRIDE
+ void drawTextItem(const QPointF &p, const QTextItem &) override
{
differentVerticalPositions.insert(qRound(p.y()));
}
- void updateState(const QPaintEngineState &) Q_DECL_OVERRIDE {}
+ void updateState(const QPaintEngineState &) override {}
- void drawPolygon(const QPointF *, int , PolygonDrawMode ) Q_DECL_OVERRIDE {}
+ void drawPolygon(const QPointF *, int , PolygonDrawMode ) override {}
- bool begin(QPaintDevice *) Q_DECL_OVERRIDE { return true; }
- bool end() Q_DECL_OVERRIDE { return true; }
- void drawPixmap(const QRectF &, const QPixmap &, const QRectF &) Q_DECL_OVERRIDE {}
- Type type() const Q_DECL_OVERRIDE
+ bool begin(QPaintDevice *) override { return true; }
+ bool end() override { return true; }
+ void drawPixmap(const QRectF &, const QPixmap &, const QRectF &) override {}
+ Type type() const override
{
return User;
}
@@ -912,5 +914,42 @@ void tst_QStaticText::multiLine()
QCOMPARE(paintEngine->differentVerticalPositions.size(), 2);
}
+void tst_QStaticText::size_qtbug65836()
+{
+ const QString text = QLatin1String("Lorem ipsum dolor sit amet, "
+ "consectetur adipiscing elit.");
+ QFont font("Courier");
+ font.setPixelSize(15);
+
+ {
+ QStaticText st1(text);
+ st1.setTextFormat(Qt::PlainText);
+ st1.prepare(QTransform(), font);
+
+ QStaticText st2(text);
+ st2.setTextFormat(Qt::RichText);
+ QTextOption opt;
+ opt.setWrapMode(QTextOption::NoWrap);
+ st2.setTextOption(opt);
+ st2.prepare(QTransform(), font);
+
+ QCOMPARE(st1.size(), st2.size());
+ }
+
+ {
+ QStaticText st1(text);
+ st1.setTextFormat(Qt::PlainText);
+ st1.setTextWidth(10.0);
+ st1.prepare(QTransform(), font);
+
+ QStaticText st2(text);
+ st2.setTextFormat(Qt::RichText);
+ st2.setTextWidth(10.0);
+ st2.prepare(QTransform(), font);
+
+ QCOMPARE(st1.size(), st2.size());
+ }
+}
+
QTEST_MAIN(tst_QStaticText)
#include "tst_qstatictext.moc"
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 2f3da2c196..ebdb5a56af 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -611,7 +611,7 @@ void tst_QTextDocument::task240325()
QFontMetrics fm(p.font());
// Set page size to contain image and one "Foobar"
- doc->setPageSize(QSize(100 + fm.width("Foobar")*2, 1000));
+ doc->setPageSize(QSize(100 + fm.horizontalAdvance("Foobar")*2, 1000));
// Force layout
doc->drawContents(&p);
diff --git a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp
index b8afd6a447..4ab80bdcfe 100644
--- a/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp
+++ b/tests/auto/gui/text/qtextformat/tst_qtextformat.cpp
@@ -283,20 +283,29 @@ void tst_QTextFormat::testLetterSpacing()
QCOMPARE(format.hasProperty(QTextFormat::FontLetterSpacingType), false);
format.setFontLetterSpacingType(QFont::AbsoluteSpacing);
+ QCOMPARE(format.font().letterSpacingType(), QFont::AbsoluteSpacing);
+
format.setFontLetterSpacing(10.0);
+ QCOMPARE(format.font().letterSpacing(), 10.0);
QCOMPARE(format.hasProperty(QTextFormat::FontLetterSpacing), true);
QCOMPARE(format.property(QTextFormat::FontLetterSpacing).toDouble(), 10.0);
QCOMPARE(format.property(QTextFormat::FontLetterSpacingType).toInt(), int(QFont::AbsoluteSpacing));
format.setFontLetterSpacingType(QFont::PercentageSpacing);
+ QCOMPARE(format.font().letterSpacingType(), QFont::PercentageSpacing);
+
format.setFontLetterSpacing(110.0);
+ QCOMPARE(format.font().letterSpacing(), 110.0);
QCOMPARE(format.property(QTextFormat::FontLetterSpacing).toDouble(), 110.0);
QCOMPARE(format.property(QTextFormat::FontLetterSpacingType).toInt(), int(QFont::PercentageSpacing));
format.setFontLetterSpacingType(QFont::AbsoluteSpacing);
+ QCOMPARE(format.font().letterSpacingType(), QFont::AbsoluteSpacing);
+
format.setFontLetterSpacing(10.0);
+ QCOMPARE(format.font().letterSpacing(), 10.0);
QCOMPARE(format.property(QTextFormat::FontLetterSpacingType).toInt(), int(QFont::AbsoluteSpacing));
QCOMPARE(format.property(QTextFormat::FontLetterSpacing).toDouble(), 10.0);
diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
index b68a014bff..4e3d1da8fe 100644
--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
@@ -203,7 +203,7 @@ void tst_QTextLayout::init()
testFont.setPixelSize(TESTFONT_SIZE);
testFont.setWeight(QFont::Normal);
#ifdef QT_BUILD_INTERNAL
- QCOMPARE(QFontMetrics(testFont).width('a'), testFont.pixelSize());
+ QCOMPARE(QFontMetrics(testFont).horizontalAdvance('a'), testFont.pixelSize());
#endif
}
diff --git a/tests/auto/gui/text/qtextscriptengine/BLACKLIST b/tests/auto/gui/text/qtextscriptengine/BLACKLIST
deleted file mode 100644
index 52eb9086a9..0000000000
--- a/tests/auto/gui/text/qtextscriptengine/BLACKLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-[thaiWithZWJ]
-rhel-7.2