QmlProfiler: Calculate the model ID in the flame graph model test

... instead of guessing it. This is more robust.

Change-Id: I4855b78da23cb1caefa3a7a95bfa60c5733b32c5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2016-12-28 16:50:27 +01:00
parent 92db5afba4
commit 7477411d71
3 changed files with 9 additions and 5 deletions

View File

@@ -37,10 +37,11 @@ FlameGraphModelTest::FlameGraphModelTest(QObject *parent) :
{
}
void FlameGraphModelTest::generateData(QmlProfilerModelManager *manager)
int FlameGraphModelTest::generateData(QmlProfilerModelManager *manager)
{
// Notes only work with timeline models
QmlProfilerRangeModel *rangeModel = new QmlProfilerRangeModel(manager, Javascript, manager);
int rangeModelId = rangeModel->modelId();
manager->notesModel()->addTimelineModel(rangeModel);
manager->startAcquiring();
@@ -87,13 +88,14 @@ void FlameGraphModelTest::generateData(QmlProfilerModelManager *manager)
manager->notesModel()->setNotes(QVector<QmlNote>({QmlNote(0, 2, 1, 20, "dings")}));
manager->notesModel()->loadData();
QCOMPARE(manager->state(), QmlProfilerModelManager::Done);
return rangeModelId;
}
void FlameGraphModelTest::initTestCase()
{
QCOMPARE(model.modelManager(), &manager);
generateData(&manager);
rangeModelId = generateData(&manager);
QCOMPARE(manager.state(), QmlProfilerModelManager::Done);
}
void FlameGraphModelTest::testIndex()
@@ -203,7 +205,7 @@ void FlameGraphModelTest::testRoleNames()
void FlameGraphModelTest::testNotes()
{
manager.notesModel()->add(2, 1, QString("blubb"));
manager.notesModel()->add(rangeModelId, 1, QString("blubb"));
QCOMPARE(model.data(model.index(0, 0), FlameGraphModel::NoteRole).toString(),
QString("dings\nblubb"));
manager.notesModel()->remove(0);