~aacid/unity8/dash_overview

« back to all changes in this revision

Viewing changes to tests/plugins/Dash/cardcreatortest.cpp

  • Committer: Albert Astals
  • Date: 2014-08-07 15:27:32 UTC
  • mfrom: (1155.1.29 do_merged)
  • Revision ID: albert.astals@canonical.com-20140807152732-0zf22298f1lsxrz8
Merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
#include <QQuickItem>
20
20
#include <QQuickView>
21
21
#include <QtTestGui>
 
22
#include <QDebug>
22
23
#include <QTemporaryFile>
23
24
 
24
25
class CardCreatorTest : public QObject
74
75
            QFile testResultFile(testDirPath + resultFileName);
75
76
            QVERIFY(testResultFile.open(QIODevice::ReadOnly));
76
77
            QTextStream ts2(&testResultFile);
77
 
            const QString expectedResult = ts2.readAll();
 
78
 
 
79
            // Record failed results to /tmp
78
80
            const QString executedResult = cardStringResult.toString();
79
 
            // Record failed results to /tmp
80
81
            QTemporaryFile tmpFile(QDir::tempPath() + QDir::separator() + "testCardCreatorFailedResultXXXXXX");
81
82
            tmpFile.open();
82
83
            tmpFile.setAutoRemove(false);
83
84
            tmpFile.write(executedResult.toUtf8().constData());
84
 
            QCOMPARE(executedResult.simplified(), expectedResult.simplified());
85
 
            tmpFile.setAutoRemove(true); // Remove the result if it passed
 
85
 
 
86
            // Line by line comparison
 
87
            const QStringList expectedLines = ts2.readAll().trimmed().replace(QRegExp("\n\\s*\n"),"\n").split("\n");
 
88
            const QStringList cardStringResultLines = cardStringResult.toString().trimmed().replace(QRegExp("\n\\s*\n"),"\n").split("\n");
 
89
            for (int i = 0; i < expectedLines.size(); ++i) {
 
90
                QCOMPARE(cardStringResultLines[i].simplified(), expectedLines[i].simplified());
 
91
            }
 
92
 
 
93
            // Remove the result if it passed
 
94
            tmpFile.setAutoRemove(true);
86
95
 
87
96
            QVariant createCardComponentResult;
88
97
            QMetaObject::invokeMethod(view->rootObject(), "createCardComponent", Q_RETURN_ARG(QVariant, createCardComponentResult), Q_ARG(QVariant, templateJSON), Q_ARG(QVariant, componentsJSON));