tst_qapplication: mark expected failure on mac
authorRohan McGovern <rohan.mcgovern@nokia.com>
Mon, 20 Feb 2012 05:12:50 +0000 (15:12 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 21 Feb 2012 01:27:23 +0000 (02:27 +0100)
The tab key behavior in Qt5 no longer respects the "Text boxes and lists
only" tab navigation option in OSX, which is the default.  This is a
regression since Qt4.

Task-number: QTBUG-24372
Change-Id: I54c1663f8fb259dd847083432102a0bfad7dd69c
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp

index cba8675..4d52e62 100644 (file)
 #include <windows.h>
 #endif
 
+QT_BEGIN_NAMESPACE
+extern bool Q_GUI_EXPORT qt_tab_all_widgets; // from qapplication.cpp
+QT_END_NAMESPACE
+
 class tst_QApplication : public QObject
 {
 Q_OBJECT
@@ -1525,8 +1529,15 @@ void tst_QApplication::focusChanged()
     QSettings appleSettings(QLatin1String("apple.com"));
     QVariant appleValue = appleSettings.value(QLatin1String("AppleKeyboardUIMode"), 0);
     tabAllControls = (appleValue.toInt() & 0x2);
+    if (!tabAllControls) {
+        QEXPECT_FAIL("", "QTBUG-24372 Mac tab key \"Text boxes and lists only\" vs "
+                         "\"All controls\" setting is not respected in Qt5", Abort);
+    }
 #endif
 
+    // make sure Qt's idea of tabbing between widgets matches what we think it should
+    QCOMPARE(qt_tab_all_widgets, tabAllControls);
+
     tab.simulate(now);
     if (!tabAllControls) {
         QVERIFY(spy.count() == 0);