summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp6
-rw-r--r--tests/auto/corelib/platform/android/tst_android.cpp11
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp2
-rw-r--r--tests/auto/gui/text/qfont/tst_qfont.cpp112
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp2
-rw-r--r--tests/auto/tools/moc/allmocs_baseline_in.json2
-rw-r--r--tests/auto/tools/moc/qtbug-35657-gadget.h2
-rw-r--r--tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp25
8 files changed, 126 insertions, 36 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
index f6d08c8107f..67643606fa3 100644
--- a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
+++ b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
@@ -77,10 +77,6 @@ class SomethingOfEverything : public QObject
Q_PROPERTY(SomethingEnum eprop READ eprop)
Q_PROPERTY(SomethingFlagEnum fprop READ fprop)
Q_PROPERTY(QLocale::Language language READ language)
- Q_ENUMS(SomethingEnum)
- Q_FLAGS(SomethingFlag)
- Q_ENUMS(SomethingEnum64)
- Q_FLAGS(SomethingFlag64)
public:
Q_INVOKABLE SomethingOfEverything() {}
~SomethingOfEverything() {}
@@ -105,6 +101,7 @@ public:
UVW = 8
};
Q_DECLARE_FLAGS(SomethingFlag, SomethingFlagEnum)
+ Q_FLAG(SomethingFlag)
enum SomethingFlagEnum64 : quint64
{
@@ -112,6 +109,7 @@ public:
OPQ = Q_UINT64_C(1) << 63,
};
Q_DECLARE_FLAGS(SomethingFlag64, SomethingFlagEnum64)
+ Q_FLAG(SomethingFlag64)
Q_INVOKABLE Q_SCRIPTABLE void method1() const {}
diff --git a/tests/auto/corelib/platform/android/tst_android.cpp b/tests/auto/corelib/platform/android/tst_android.cpp
index 3665f100a61..b4bb0323f8a 100644
--- a/tests/auto/corelib/platform/android/tst_android.cpp
+++ b/tests/auto/corelib/platform/android/tst_android.cpp
@@ -430,6 +430,8 @@ void tst_Android::testFullScreenDimensions()
widget.showNormal();
}
+ // TODO needs fix to work in local and CI on same fashion
+ const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' ').contains("ci");
{
// Translucent
// available geometry == full display size (system bars visible but drawable under)
@@ -437,14 +439,11 @@ void tst_Android::testFullScreenDimensions()
widget.show();
QCoreApplication::processEvents();
QTRY_COMPARE(screen->availableGeometry().width(), realSize.getField<jint>("x"));
- QTRY_COMPARE(screen->availableGeometry().height(), realSize.getField<jint>("y"));
-
- QTRY_COMPARE(screen->geometry().width(), realSize.getField<jint>("x"));
- // TODO needs fix to work in local and CI on same fashion
- const bool runsOnCI = qgetenv("QTEST_ENVIRONMENT").split(' ').contains("ci");
if ((sdkVersion > __ANDROID_API_V__) && runsOnCI)
QEXPECT_FAIL("", "Fails on Android 16 (QTBUG-141712).", Continue);
+ QTRY_COMPARE(screen->availableGeometry().height(), realSize.getField<jint>("y"));
+ QTRY_COMPARE(screen->geometry().width(), realSize.getField<jint>("x"));
QTRY_COMPARE(screen->geometry().height(), realSize.getField<jint>("y"));
widget.showNormal();
}
@@ -455,6 +454,8 @@ void tst_Android::testFullScreenDimensions()
widget.showMaximized();
QCoreApplication::processEvents();
QTRY_COMPARE(screen->availableGeometry().width(), realSize.getField<jint>("x"));
+ if ((sdkVersion > __ANDROID_API_V__) && runsOnCI)
+ QEXPECT_FAIL("", "Fails on Android 16 (QTBUG-141712).", Continue);
QTRY_COMPARE(screen->availableGeometry().height(), realSize.getField<jint>("y"));
QTRY_COMPARE(screen->geometry().width(), realSize.getField<jint>("x"));
diff --git a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
index cb22024f769..ff78d1a1d1f 100644
--- a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
+++ b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
@@ -359,7 +359,7 @@ void tst_QGuiVariant::toString_data()
#endif
QFont font( "times", 12 );
- QTest::newRow("qfont") << QVariant::fromValue(font) << QString("times,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1");
+ QTest::newRow("qfont") << QVariant::fromValue(font) << QString("times,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0");
QTest::newRow( "qcolor" ) << QVariant::fromValue( QColor( 10, 10, 10 ) ) << QString( "#0a0a0a" );
}
diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp
index 215ce412d98..8c4b8c75a26 100644
--- a/tests/auto/gui/text/qfont/tst_qfont.cpp
+++ b/tests/auto/gui/text/qfont/tst_qfont.cpp
@@ -50,7 +50,10 @@ private slots:
void defaultFamily_data();
void defaultFamily();
void toAndFromString();
+ void fromStringCompatibility_data();
+ void fromStringCompatibility();
void fromStringWithoutStyleName();
+ void fromStringWithoutFeatures();
void fromDegenerateString_data();
void fromDegenerateString();
@@ -645,51 +648,114 @@ void tst_QFont::toAndFromString()
QCOMPARE(result, initial);
}
+}
+
+void tst_QFont::fromStringCompatibility_data()
+{
+ QTest::addColumn<bool>("current");
+ QTest::addColumn<QString>("description");
+ QTest::addColumn<QFont>("font");
- // Since Qt 6.0 it was changed to include more information in the description, so
- // this checks for compatibility
- const QString fontStringFrom515(QLatin1String("Times New Roman,18,-1,5,75,1,0,0,1,0,Regular"));
QFont fontFrom515("Times New Roman", 18);
fontFrom515.setBold(true);
fontFrom515.setItalic(true);
fontFrom515.setFixedPitch(true);
fontFrom515.setStyleName("Regular");
- QFont from515String;
- from515String.fromString(fontStringFrom515);
- QCOMPARE(from515String, fontFrom515);
+ QTest::addRow("Times New Roman, Qt 5.15") << false << QStringLiteral("Times New Roman,18,-1,5,75,1,0,0,1,0,Regular") << fontFrom515;
- const QString fontStringFrom60(
- QLatin1String("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2,Regular"));
QFont fontFrom60 = fontFrom515;
fontFrom60.setStyleStrategy(QFont::PreferBitmap);
fontFrom60.setCapitalization(QFont::AllUppercase);
fontFrom60.setLetterSpacing(QFont::PercentageSpacing, 150.5);
fontFrom60.setWordSpacing(2.5);
fontFrom60.setStretch(50);
- QFont from60String;
- from60String.fromString(fontStringFrom60);
- QCOMPARE(fontFrom60.toString(), fontStringFrom60);
- QCOMPARE(from60String, fontFrom60);
+ QTest::addRow("Times New Roman, Qt 6.0") << false << QStringLiteral("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2,Regular") << fontFrom60;
+
+ QFont fontFrom611 = fontFrom60;
+ QTest::addRow("Times New Roman, Qt 6.11") << true << QStringLiteral("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2,Regular,0") << fontFrom611;
+
+ QFont fontFrom611WithFeatures = fontFrom60;
+ fontFrom611WithFeatures.setFeature("frac", 1);
+ fontFrom611WithFeatures.setFeature("liga", 0);
+ QTest::addRow("Times New Roman (with features), Qt 6.11") << true << QStringLiteral("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2,Regular,2,frac=1,liga=0") << fontFrom611WithFeatures;
+}
+
+void tst_QFont::fromStringCompatibility()
+{
+ // This test verifies that font descriptions from older Qt releases are handled as expected.
+
+ QFETCH(bool, current);
+ QFETCH(QString, description);
+
+ QFont font;
+ font.fromString(description);
+ QTEST(font, "font");
+
+ if (current) {
+ QCOMPARE(font.toString(), description);
+ }
}
void tst_QFont::fromStringWithoutStyleName()
{
- QFont font1;
- font1.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular");
+ // This test verifies that the style name will be reset if the from string contains no style.
+
+ const QString fontString(QLatin1String("Times,16,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"));
+ {
+ QFont font;
+ font.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular");
- QFont font2 = font1;
- const QString str = "Times,16,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
- font2.fromString(str);
+ QFont from = font;
+ from.fromString(fontString);
- QCOMPARE(font2.toString(), str);
+ QFont clean;
+ clean.fromString(fontString);
+
+ QCOMPARE(from, clean);
+ }
const QString fontStringFrom60(
QLatin1String("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2"));
- QFont font3;
- font3.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular");
- QFont font4 = font3;
- font4.fromString(fontStringFrom60);
- QCOMPARE(font4.toString(), fontStringFrom60);
+ {
+ QFont font;
+ font.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular");
+
+ QFont from = font;
+ from.fromString(fontStringFrom60);
+
+ QFont clean;
+ clean.fromString(fontStringFrom60);
+
+ QCOMPARE(from, clean);
+ }
+
+ const QString fontStringFrom611(
+ QLatin1String("Times New Roman,18,-1,5,700,1,0,0,1,0,1,0,150.5,2.5,50,2,,0"));
+ {
+ QFont font;
+ font.fromString("Noto Sans,12,-1,5,50,0,0,0,0,0,Regular");
+
+ QFont from = font;
+ from.fromString(fontStringFrom611);
+
+ QFont clean;
+ clean.fromString(fontStringFrom611);
+
+ QCOMPARE(from, clean);
+ }
+}
+
+void tst_QFont::fromStringWithoutFeatures()
+{
+ // This test verifies that the font feature list will be reset if the from string contains no features.
+
+ const QString fontStringWithoutFeatures = QStringLiteral("Noto Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1");
+ const QString fontStringWithFeatures = QStringLiteral("Noto Sans,18,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,2,calt=0,frac=1");
+
+ QFont font;
+ font.fromString(fontStringWithFeatures);
+ font.fromString(fontStringWithoutFeatures);
+ QVERIFY(font.featureTags().isEmpty());
}
void tst_QFont::fromDegenerateString_data()
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 600b45575f2..07f3dc9f05c 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -295,6 +295,8 @@ void tst_QTextDocument::cleanup()
cursor = QTextCursor();
delete doc;
doc = 0;
+
+ QTextDocument::setDefaultResourceProvider({});
}
void tst_QTextDocument::cleanupTestCase()
diff --git a/tests/auto/tools/moc/allmocs_baseline_in.json b/tests/auto/tools/moc/allmocs_baseline_in.json
index 8f7757a7272..363ade3d53c 100644
--- a/tests/auto/tools/moc/allmocs_baseline_in.json
+++ b/tests/auto/tools/moc/allmocs_baseline_in.json
@@ -2444,7 +2444,7 @@
{
"isClass": false,
"isFlag": false,
- "lineNumber": 14,
+ "lineNumber": 13,
"name": "SomeEnum",
"values": [
"SomeEnumValue"
diff --git a/tests/auto/tools/moc/qtbug-35657-gadget.h b/tests/auto/tools/moc/qtbug-35657-gadget.h
index d97e1f7f45e..ca225faca1c 100644
--- a/tests/auto/tools/moc/qtbug-35657-gadget.h
+++ b/tests/auto/tools/moc/qtbug-35657-gadget.h
@@ -9,9 +9,9 @@
namespace QTBUG_35657 {
class A {
Q_GADGET
- Q_ENUMS(SomeEnum)
public:
enum SomeEnum { SomeEnumValue = 0 };
+ Q_ENUM(SomeEnum)
};
}
diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
index 03131cebe47..16a69e4337d 100644
--- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
@@ -63,6 +63,7 @@ private slots:
void removeLastVisibleTab();
void closeButton();
+ void requestCloseOnMiddleClick();
void tabButton_data();
void tabButton();
@@ -551,6 +552,28 @@ void tst_QTabBar::closeButton()
QCOMPARE(spy.size(), 1);
}
+void tst_QTabBar::requestCloseOnMiddleClick()
+{
+ QTabBar tabbar;
+ tabbar.addTab("foo");
+ tabbar.addTab("bar");
+ QCOMPARE(tabbar.count(), 2);
+
+ QSignalSpy spy(&tabbar, SIGNAL(tabCloseRequested(int)));
+
+ QCOMPARE(tabbar.tabsClosable(), false);
+ QTest::mouseClick(&tabbar, Qt::MiddleButton, {}, tabbar.tabRect(0).center());
+ QCOMPARE(spy.size(), 0);
+
+ tabbar.setTabsClosable(true);
+ QCOMPARE(tabbar.tabsClosable(), true);
+ QTest::mouseClick(&tabbar, Qt::MiddleButton, {}, tabbar.tabRect(0).center());
+ QCOMPARE(spy.size(), 1);
+
+ QTest::mouseClick(&tabbar, Qt::MiddleButton, {}, tabbar.rect().bottomRight() * 1.1);
+ QCOMPARE(spy.size(), 1);
+}
+
Q_DECLARE_METATYPE(QTabBar::ButtonPosition)
void tst_QTabBar::tabButton_data()
{
@@ -1512,7 +1535,7 @@ void tst_QTabBar::checkPositionsAfterShapeChange()
using QTabWidget::QTabWidget;
using QTabWidget::setTabBar;
};
-
+
class TabBar : public QTabBar
{
public: