diff options
Diffstat (limited to 'tests/auto/other')
-rw-r--r-- | tests/auto/other/gestures/BLACKLIST | 12 | ||||
-rw-r--r-- | tests/auto/other/lancelot/paintcommands.cpp | 49 | ||||
-rw-r--r-- | tests/auto/other/lancelot/paintcommands.h | 2 | ||||
-rw-r--r-- | tests/auto/other/lancelot/scripts/gradientxform_object.qps | 15 | ||||
-rw-r--r-- | tests/auto/other/lancelot/scripts/image_dpr.qps | 43 | ||||
-rw-r--r-- | tests/auto/other/macnativeevents/macnativeevents.pro | 2 | ||||
-rw-r--r-- | tests/auto/other/other.pro | 8 | ||||
-rw-r--r-- | tests/auto/other/qaccessibility/tst_qaccessibility.cpp | 4 | ||||
-rw-r--r-- | tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp | 55 | ||||
-rw-r--r-- | tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm | 4 | ||||
-rw-r--r-- | tests/auto/other/qfocusevent/BLACKLIST | 1 | ||||
-rw-r--r-- | tests/auto/other/qfocusevent/tst_qfocusevent.cpp | 5 |
12 files changed, 169 insertions, 31 deletions
diff --git a/tests/auto/other/gestures/BLACKLIST b/tests/auto/other/gestures/BLACKLIST index 169117b36a..269bac5750 100644 --- a/tests/auto/other/gestures/BLACKLIST +++ b/tests/auto/other/gestures/BLACKLIST @@ -1,6 +1,18 @@ [] rhel-7.4 +ubuntu-18.04 [customGesture] # QTBUG-67254 ubuntu opensuse +opensuse-leap +[graphicsItemGesture] +ubuntu-18.04 +[graphicsItemTreeGesture] +ubuntu-18.04 +[graphicsView] +ubuntu-18.04 +[explicitGraphicsObjectTarget] +ubuntu-18.04 +[autoCancelGestures2] +ubuntu-18.04 diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp index 074644393d..65a688ec40 100644 --- a/tests/auto/other/lancelot/paintcommands.cpp +++ b/tests/auto/other/lancelot/paintcommands.cpp @@ -106,7 +106,8 @@ const char *PaintCommands::spreadMethodTable[] = { const char *PaintCommands::coordinateMethodTable[] = { "LogicalMode", "StretchToDeviceMode", - "ObjectBoundingMode" + "ObjectBoundingMode", + "ObjectMode" }; const char *PaintCommands::sizeModeTable[] = { @@ -176,6 +177,9 @@ const char *PaintCommands::imageFormatTable[] = { "Format_A2RGB30_Premultiplied", "Alpha8", "Grayscale8", + "RGBx64", + "RGBA64", + "RGBA64_Premultiplied", }; int PaintCommands::translateEnum(const char *table[], const QString &pattern, int limit) @@ -561,6 +565,10 @@ void PaintCommands::staticInit() "^bitmap_load\\s+([\\w.:\\/]*)\\s*([\\w.:\\/]*)$", "bitmap_load <bitmap filename> <bitmapName>\n - note that the image is stored as a pixmap", "bitmap_load :/images/bitmap.png myBitmap"); + DECL_PAINTCOMMAND("pixmap_setDevicePixelRatio", command_pixmap_setDevicePixelRatio, + "^pixmap_setDevicePixelRatio\\s+([\\w.:\\/]*)\\s+([.0-9]*)$", + "pixmap_setDevicePixelRatio <pixmapName> <dpr>", + "pixmap_setDevicePixelRatio myPixmap 2.0"); DECL_PAINTCOMMAND("image_convertToFormat", command_image_convertToFormat, "^image_convertToFormat\\s+([\\w.:\\/]*)\\s+([\\w.:\\/]+)\\s+([\\w0-9_]*)$", "image_convertToFormat <sourceImageName> <destImageName> <image format enum>", @@ -577,6 +585,10 @@ void PaintCommands::staticInit() "^image_setColorCount\\s+([\\w.:\\/]*)\\s+([0-9]*)$", "image_setColorCount <imageName> <nbColors>", "image_setColorCount myImage 128"); + DECL_PAINTCOMMAND("image_setDevicePixelRatio", command_image_setDevicePixelRatio, + "^image_setDevicePixelRatio\\s+([\\w.:\\/]*)\\s+([.0-9]*)$", + "image_setDevicePixelRatio <imageName> <dpr>", + "image_setDevicePixelRatio myImage 2.0"); DECL_PAINTCOMMANDSECTION("transformations"); DECL_PAINTCOMMAND("resetMatrix", command_resetMatrix, @@ -1761,7 +1773,9 @@ void PaintCommands::command_setBrush(QRegularExpressionMatch re) { QStringList caps = re.capturedTexts(); - QImage img = image_load<QImage>(caps.at(1)); + QImage img = m_imageMap[caps.at(1)]; // try cache first + if (img.isNull()) + img = image_load<QImage>(caps.at(1)); if (!img.isNull()) { // Assume image brush if (m_verboseMode) printf(" -(lance) setBrush(image=%s, width=%d, height=%d)\n", @@ -2132,6 +2146,20 @@ void PaintCommands::command_bitmap_load(QRegularExpressionMatch re) m_pixmapMap[name] = bm; } +void PaintCommands::command_pixmap_setDevicePixelRatio(QRegularExpressionMatch re) +{ + QStringList caps = re.capturedTexts(); + + QString name = caps.at(1); + double dpr = convertToDouble(caps.at(2)); + + if (m_verboseMode) + printf(" -(lance) pixmap_setDevicePixelRatio(%s), %.1f -> %.1f\n", + qPrintable(name), m_pixmapMap[name].devicePixelRatioF(), dpr); + + m_pixmapMap[name].setDevicePixelRatio(dpr); +} + /***************************************************************************************************/ void PaintCommands::command_pixmap_setMask(QRegularExpressionMatch re) { @@ -2197,6 +2225,21 @@ void PaintCommands::command_image_setColor(QRegularExpressionMatch re) } /***************************************************************************************************/ +void PaintCommands::command_image_setDevicePixelRatio(QRegularExpressionMatch re) +{ + QStringList caps = re.capturedTexts(); + + QString name = caps.at(1); + double dpr = convertToDouble(caps.at(2)); + + if (m_verboseMode) + printf(" -(lance) image_setDevicePixelRatio(%s), %.1f -> %.1f\n", + qPrintable(name), m_imageMap[name].devicePixelRatioF(), dpr); + + m_imageMap[name].setDevicePixelRatio(dpr); +} + +/***************************************************************************************************/ void PaintCommands::command_abort(QRegularExpressionMatch) { m_abort = true; @@ -2355,7 +2398,7 @@ void PaintCommands::command_gradient_setSpread(QRegularExpressionMatch re) void PaintCommands::command_gradient_setCoordinateMode(QRegularExpressionMatch re) { - int coord = translateEnum(coordinateMethodTable, re.captured(1), 3); + int coord = translateEnum(coordinateMethodTable, re.captured(1), 4); if (m_verboseMode) printf(" -(lance) gradient_setCoordinateMode %d=[%s]\n", coord, diff --git a/tests/auto/other/lancelot/paintcommands.h b/tests/auto/other/lancelot/paintcommands.h index e3fb96744c..83e3bbc11c 100644 --- a/tests/auto/other/lancelot/paintcommands.h +++ b/tests/auto/other/lancelot/paintcommands.h @@ -229,10 +229,12 @@ private: void command_pixmap_load(QRegularExpressionMatch re); void command_pixmap_setMask(QRegularExpressionMatch re); void command_bitmap_load(QRegularExpressionMatch re); + void command_pixmap_setDevicePixelRatio(QRegularExpressionMatch re); void command_image_convertToFormat(QRegularExpressionMatch re); void command_image_load(QRegularExpressionMatch re); void command_image_setColor(QRegularExpressionMatch re); void command_image_setColorCount(QRegularExpressionMatch re); + void command_image_setDevicePixelRatio(QRegularExpressionMatch re); // commands: transformation void command_resetMatrix(QRegularExpressionMatch re); diff --git a/tests/auto/other/lancelot/scripts/gradientxform_object.qps b/tests/auto/other/lancelot/scripts/gradientxform_object.qps index d785a008c0..dcc718072f 100644 --- a/tests/auto/other/lancelot/scripts/gradientxform_object.qps +++ b/tests/auto/other/lancelot/scripts/gradientxform_object.qps @@ -62,7 +62,22 @@ repeat_block row restore end_block block +save translate 400 0 brushRotate 30.0 brushScale 1.5 .5 repeat_block block +restore + +drawText 80 400 "BRUSH XFORM, OBJECT BOUNDING MODE" +drawText 500 400 "BRUSH XFORM, OBJECT MODE" + +translate 0 400 +brushTranslate 0.5 0.5 +brushRotate 180.0 +brushTranslate -0.5 -0.5 +repeat_block block + +translate 400 0 +gradient_setCoordinateMode ObjectMode +repeat_block block diff --git a/tests/auto/other/lancelot/scripts/image_dpr.qps b/tests/auto/other/lancelot/scripts/image_dpr.qps new file mode 100644 index 0000000000..7d3ca3099c --- /dev/null +++ b/tests/auto/other/lancelot/scripts/image_dpr.qps @@ -0,0 +1,43 @@ + +setRenderHint Antialiasing true +setRenderHint SmoothPixmapTransform true + +image_load sign.png img1 +pixmap_load sign.png pix1 + +begin_block drawIt +save + +drawImage img1 20 20 -1 -1 +drawRect 17.5 17.5 85 85 + +setBrush img1 +setPen NoPen +drawRect 20 120 120 120 + +brushRotate 45 +drawRect 20 260 120 120 + +setBrush NoBrush +drawTiledPixmap pix1 20 400 120 120 + +restore +end_block + +save +translate 150 0 +rotate -5 +repeat_block drawIt +restore + +image_setDevicePixelRatio img1 2.0 +pixmap_setDevicePixelRatio pix1 2.0 +translate 400 0 +repeat_block drawIt + +save +translate 150 0 +rotate -5 +repeat_block drawIt +restore + diff --git a/tests/auto/other/macnativeevents/macnativeevents.pro b/tests/auto/other/macnativeevents/macnativeevents.pro index 0611377d0b..0fe5949a1d 100644 --- a/tests/auto/other/macnativeevents/macnativeevents.pro +++ b/tests/auto/other/macnativeevents/macnativeevents.pro @@ -8,3 +8,5 @@ SOURCES += tst_macnativeevents.cpp requires(mac) DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + +LIBS += -framework AppKit diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro index ea2e1dabf2..d70c895dec 100644 --- a/tests/auto/other/other.pro +++ b/tests/auto/other/other.pro @@ -7,7 +7,7 @@ SUBDIRS=\ lancelot \ languagechange \ macgui \ - macnativeevents \ + #macnativeevents \ macplist \ networkselftest \ qaccessibility \ @@ -39,7 +39,7 @@ SUBDIRS=\ qaccessibilitylinux \ qaccessibilitymac \ -!qtHaveModule(network): SUBDIRS -= \ +winrt|!qtHaveModule(network): SUBDIRS -= \ lancelot \ networkselftest \ qnetworkaccessmanager_and_qprogressdialog \ @@ -48,9 +48,9 @@ cross_compile: SUBDIRS -= \ atwrapper \ compiler -!qtConfig(accessibility): SUBDIRS -= qaccessibility +winrt|!qtHaveModule(gui)|!qtConfig(accessibility): SUBDIRS -= qaccessibility -!qtConfig(accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux +!qtHaveModule(gui)|!qtConfig(accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux !qtConfig(process): SUBDIRS -= qprocess_and_guieventloop diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp index 8cf039c06a..8b24937079 100644 --- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp @@ -876,6 +876,10 @@ void tst_QAccessibility::applicationTest() QCOMPARE(interface->child(1), static_cast<QAccessibleInterface*>(0)); QCOMPARE(interface->childCount(), 0); + // Check that asking for the application interface twice returns the same object + QAccessibleInterface *app2 = QAccessible::queryAccessibleInterface(qApp); + QCOMPARE(interface, app2); + QWidget widget; widget.show(); qApp->setActiveWindow(&widget); diff --git a/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp b/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp index 2575f22309..48594b2fa1 100644 --- a/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp +++ b/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp @@ -211,6 +211,27 @@ void tst_QAccessibilityLinux::registerDbus() mainWindow = getInterface(window, "org.a11y.atspi.Accessible"); } +quint64 getAtspiState(QDBusInterface *interface) +{ + QDBusMessage msg = interface->call(QDBus::Block, "GetState"); + const QDBusArgument arg = msg.arguments().at(0).value<QDBusArgument>(); + quint32 state1 = 0; + quint64 state2 = 0; + arg.beginArray(); + arg >> state1; + arg >> state2; + arg.endArray(); + + state2 = state2 << 32; + return state2 | state1; +} + +bool hasState(QDBusInterface *interface, AtspiStateType state) +{ + quint64 intState = quint64(1) << state; + return getAtspiState(interface) & intState; +} + #define ROOTPATH "/org/a11y/atspi/accessible" void tst_QAccessibilityLinux::testLabel() @@ -353,13 +374,21 @@ void tst_QAccessibilityLinux::testTreeWidget() QDBusInterface *cell3 = getInterface(tableChildren.at(2), "org.a11y.atspi.Accessible"); QCOMPARE(cell3->property("Name").toString(), QLatin1String("0.0")); + QVERIFY(!hasState(cell3, ATSPI_STATE_EXPANDABLE)); + QVERIFY(!hasState(cell3, ATSPI_STATE_EXPANDED)); QDBusInterface *cell4 = getInterface(tableChildren.at(3), "org.a11y.atspi.Accessible"); QCOMPARE(cell4->property("Name").toString(), QLatin1String("0.1")); + QDBusInterface *dbus_top2 = getInterface(tableChildren.at(4), "org.a11y.atspi.Accessible"); + QCOMPARE(dbus_top2->property("Name").toString(), QLatin1String("1.0")); + QVERIFY(hasState(dbus_top2, ATSPI_STATE_EXPANDABLE)); + QVERIFY(!hasState(dbus_top2, ATSPI_STATE_EXPANDED)); + tree->expandItem(top2); tableChildren = getChildren(treeIface); QCOMPARE(tableChildren.size(), 8); + QVERIFY(hasState(dbus_top2, ATSPI_STATE_EXPANDED)); QDBusInterface *cell5 = getInterface(tableChildren.at(6), "org.a11y.atspi.Accessible"); QCOMPARE(cell5->property("Name").toString(), QLatin1String("1.0 0.0")); @@ -471,23 +500,10 @@ void tst_QAccessibilityLinux::testSlider() m_window->clearChildren(); } -quint64 getAtspiState(QDBusInterface *interface) -{ - QDBusMessage msg = interface->call(QDBus::Block, "GetState"); - const QDBusArgument arg = msg.arguments().at(0).value<QDBusArgument>(); - quint32 state1 = 0; - quint64 state2 = 0; - arg.beginArray(); - arg >> state1; - arg >> state2; - arg.endArray(); - - state2 = state2 << 32; - return state2 | state1; -} - void tst_QAccessibilityLinux::testFocus() { + m_window->activateWindow(); + QVERIFY(QTest::qWaitForWindowActive(m_window)); QLineEdit *lineEdit1 = new QLineEdit(m_window); lineEdit1->setText("lineEdit 1"); QLineEdit *lineEdit2 = new QLineEdit(m_window); @@ -508,15 +524,14 @@ void tst_QAccessibilityLinux::testFocus() QDBusInterface *componentInterfaceLineEdit2 = getInterface(children.at(1), "org.a11y.atspi.Component"); QVERIFY(componentInterfaceLineEdit2->isValid()); - quint64 focusedState = quint64(1) << ATSPI_STATE_FOCUSED; - QVERIFY(getAtspiState(accessibleInterfaceLineEdit1) & focusedState); - QVERIFY(!(getAtspiState(accessibleInterfaceLineEdit2) & focusedState)); + QVERIFY(hasState(accessibleInterfaceLineEdit1, ATSPI_STATE_FOCUSED)); + QVERIFY(!hasState(accessibleInterfaceLineEdit2, ATSPI_STATE_FOCUSED)); QDBusMessage focusReply = componentInterfaceLineEdit2->call(QDBus::Block, "GrabFocus"); QVERIFY(focusReply.arguments().at(0).toBool()); QVERIFY(lineEdit2->hasFocus()); - QVERIFY(!(getAtspiState(accessibleInterfaceLineEdit1) & focusedState)); - QVERIFY(getAtspiState(accessibleInterfaceLineEdit2) & focusedState); + QVERIFY(!hasState(accessibleInterfaceLineEdit1, ATSPI_STATE_FOCUSED)); + QVERIFY(hasState(accessibleInterfaceLineEdit2, ATSPI_STATE_FOCUSED)); m_window->clearChildren(); delete accessibleInterfaceLineEdit1; delete accessibleInterfaceLineEdit2; diff --git a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm index e9407fd903..4ebf7a37f9 100644 --- a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm +++ b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm @@ -101,9 +101,9 @@ QDebug operator<<(QDebug dbg, AXErrorTag err) @implementation TestAXObject -- (id) initWithAXUIElementRef: (AXUIElementRef) ref { +- (instancetype)initWithAXUIElementRef:(AXUIElementRef)ref { - if ( self = [super init] ) { + if ((self = [super init])) { reference = ref; } return self; diff --git a/tests/auto/other/qfocusevent/BLACKLIST b/tests/auto/other/qfocusevent/BLACKLIST index 502820fa12..0b03472587 100644 --- a/tests/auto/other/qfocusevent/BLACKLIST +++ b/tests/auto/other/qfocusevent/BLACKLIST @@ -2,4 +2,5 @@ osx-10.12 ci [checkReason_ActiveWindow] osx-10.12 ci +winrt diff --git a/tests/auto/other/qfocusevent/tst_qfocusevent.cpp b/tests/auto/other/qfocusevent/tst_qfocusevent.cpp index ceac02279e..260ba12a97 100644 --- a/tests/auto/other/qfocusevent/tst_qfocusevent.cpp +++ b/tests/auto/other/qfocusevent/tst_qfocusevent.cpp @@ -351,9 +351,10 @@ void tst_QFocusEvent::checkReason_ActiveWindow() d->hide(); if (!QGuiApplication::platformName().compare(QLatin1String("offscreen"), Qt::CaseInsensitive) - || !QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive)) { + || !QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive) + || !QGuiApplication::platformName().compare(QLatin1String("winrt"), Qt::CaseInsensitive)) { // Activate window of testFocusWidget, focus in that window goes to childFocusWidgetOne - QWARN("Platforms offscreen and minimal require explicit activateWindow()"); + QWARN("Platforms offscreen, minimal, and winrt require explicit activateWindow()"); testFocusWidget->activateWindow(); } |