summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordac <qt-info@nokia.com>2010-10-28 12:36:30 +1000
committerdac <qt-info@nokia.com>2010-10-28 12:36:30 +1000
commitb984b0b62076067f1f75db5a7eda5aaa2cdaad2a (patch)
treeb52af80dfd69cce655479011cf20ab4ba737e911
parent0e8475290926f1fe91c2a305c10cde0aa90d0929 (diff)
Allow multiple labels per widget
-rw-r--r--libqtslave/qtestwidgets.cpp32
1 files changed, 12 insertions, 20 deletions
diff --git a/libqtslave/qtestwidgets.cpp b/libqtslave/qtestwidgets.cpp
index 51ef0bf..45f3770 100644
--- a/libqtslave/qtestwidgets.cpp
+++ b/libqtslave/qtestwidgets.cpp
@@ -40,8 +40,6 @@
****************************************************************************/
#include <qtestwidgets.h>
-#include <qtestslaveglobal.h>
-
#include <QtGui>
#define qLog(A) if (1); else qDebug() << #A
@@ -51,7 +49,7 @@ bool active_test_widget_valid = false;
uint qHash(QPointer<QObject> o)
{ return qHash((QObject*)o); }
-inline QString dehyphenate(QString const& in)
+inline QString dehyphenate(const QString& in)
{ return QString(in).remove(QChar(0x00AD)); }
/*!
@@ -386,16 +384,11 @@ void QActiveTestWidgetData::resolveLabels()
focusProxy = qbuddy ? qbuddy->focusProxy() : 0;
}
- if (resolved_buddy_pairs.values().contains(buddy)) {
- qLog(QtUitest) << QString("*** duplicate Label: %1[%2] -- Buddy: %3[%4]").arg(w->metaObject()->className()).arg((long)(void*)w,0,32).arg(buddy->metaObject()->className()).arg((long)(void*)buddy,0,32).toLatin1();
- } else {
- resolved_buddy_pairs.insert( w, buddy );
- qLog(QtUitest) << QString("*** resolved Label: %1[%2] -- Buddy: %3[%4]").arg(w->metaObject()->className()).arg((long)(void*)w,0,32).arg(buddy->metaObject()->className()).arg((long)(void*)buddy,0,32).toLatin1();
- unresolved_tw_buddies.removeAll( buddy );
- unresolved_tw_labels.removeAll( buddy );
- if (buddy != w) visible_tw_labels.removeAll( buddy );
- unresolved_tw_labels.removeAll( w );
- }
+ resolved_buddy_pairs.insert( w, buddy );
+ unresolved_tw_buddies.removeAll( buddy );
+ unresolved_tw_labels.removeAll( buddy );
+ if (buddy != w) visible_tw_labels.removeAll( buddy );
+ unresolved_tw_labels.removeAll( w );
}
}
@@ -421,19 +414,19 @@ QObject* QActiveTestWidgetData::findWidgetByLabel( const QString &text, QString
possibleMatches << resolved_buddy_pairs[o];
}
}
- if (definiteMatches.count() == 1) {
+ if (definiteMatches.count() == 1 || definiteMatches.toSet().count() == 1) {
return definiteMatches[0];
}
- if (definiteMatches.count() > 1) {
+ if (definiteMatches.count() > 1 && definiteMatches.toSet().count() > 1) {
error = "ERROR: '" + labelText + "' is ambiguous.\n Available labels: " + allLabels().join(",");
return 0;
}
// No definite matches.
- if (possibleMatches.count() == 1) {
+ if (possibleMatches.count() == 1 || possibleMatches.toSet().count() == 1) {
return possibleMatches[0];
}
- if (possibleMatches.count() > 1) {
+ if (possibleMatches.count() > 1 && possibleMatches.toSet().count() > 1) {
error = "ERROR: '" + labelText + "' is ambiguous.\n Available labels: " + allLabels().join(",");
return 0;
}
@@ -755,9 +748,8 @@ QString QActiveTestWidget::friendlyName( QObject* o )
if (!w)
return QTestWidgets::signature(o);
-
- if (w->inherits(QtUiTest::TabBar))
- return TAB_BAR_ALIAS;
+ else if (w->inherits(QtUiTest::TabBar))
+ return "tabBar()";
QString ret;
rescan(ret, 50);