summaryrefslogtreecommitdiff
path: root/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-01-09 10:07:00 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-10 07:43:35 +0100
commit560e814f7e51a158ee6668ae3e9ceecf8a0d6834 (patch)
treedbb6723fb7b4ec93befa9ed14b188986de01fc6f /tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
parenta86c24675f4de9ef17932c6ee6fcc21cb0774cd8 (diff)
downloadqtscript-560e814f7e51a158ee6668ae3e9ceecf8a0d6834.tar.gz
Improve tst_qscriptextqobject.
- Improve test to output more information on failure reasons should further signals, slots, properties be added. Change-Id: I1a6df8c0689a1082037d43a1d8ddea2d44bbe5ef Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp')
-rw-r--r--tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp33
1 files changed, 27 insertions, 6 deletions
diff --git a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
index 4ae58f2..6216809 100644
--- a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
+++ b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
@@ -46,6 +46,7 @@
#include <qscriptcontext.h>
#include <qscriptvalueiterator.h>
#include <qwidget.h>
+#include <qtextstream.h>
#include <qpushbutton.h>
#include <qlineedit.h>
@@ -3001,6 +3002,30 @@ void tst_QScriptExtQObject::enumerate_data()
<< "mySignal()");
}
+// Message for easily identifying mismatches in string list.
+static QByteArray msgEnumerationFail(const QStringList &actual, const QStringList &expected)
+{
+ QString result;
+ QTextStream str(&result);
+ str << "\nActual " << actual.size() << ":\n";
+ for (int i = 0; i < actual.size(); ++i) {
+ const int index = expected.indexOf(actual.at(i));
+ if (index < 0)
+ str << "*** ";
+ str << " #" << i << " '"<< actual.at(i)
+ << "'\tin expected at: " << index << '\n';
+ }
+ str << "Expected " << expected.size() << ":\n";
+ for (int i = 0; i < expected.size(); ++i) {
+ const int index = actual.indexOf(expected.at(i));
+ if (index < 0)
+ str << "*** ";
+ str << " #" << i << " '"<< expected.at(i)
+ << "'\t in actual at: " << index << '\n';
+ }
+ return result.toLocal8Bit();
+}
+
void tst_QScriptExtQObject::enumerate()
{
QFETCH( int, wrapOptions );
@@ -3021,9 +3046,7 @@ void tst_QScriptExtQObject::enumerate()
eng.evaluate("var enumeratedProperties = []");
eng.evaluate("for (var p in myEnumObject) { enumeratedProperties.push(p); }");
QStringList result = qscriptvalue_cast<QStringList>(eng.evaluate("enumeratedProperties"));
- QCOMPARE(result.size(), expectedNames.size());
- for (int i = 0; i < expectedNames.size(); ++i)
- QCOMPARE(result.at(i), expectedNames.at(i));
+ QVERIFY2(result == expectedNames, msgEnumerationFail(result, expectedNames).constData());
}
// enumerate in C++
{
@@ -3034,9 +3057,7 @@ void tst_QScriptExtQObject::enumerate()
QCOMPARE(it.flags(), obj.propertyFlags(it.name()));
result.append(it.name());
}
- QCOMPARE(result.size(), expectedNames.size());
- for (int i = 0; i < expectedNames.size(); ++i)
- QCOMPARE(result.at(i), expectedNames.at(i));
+ QVERIFY2(result == expectedNames, msgEnumerationFail(result, expectedNames).constData());
}
}