summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-05-13 18:23:38 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-05-18 08:20:43 +0000
commit94b42da80ae5f364b8d5fd31d01e5ee349040f3c (patch)
treef38652e9128bcfbc9e6572a949d934cb170bdbde /tests
parent59da3a2bba6cc3b8552695d9588dab9b1530cec0 (diff)
downloadqt-creator-94b42da80ae5f364b8d5fd31d01e5ee349040f3c.tar.gz
Timeline: Make 0-width events visible again.
Events with duration == 0 were erroneously filtered out by the items render pass. Also, we have to give them a very small width in order for the "stretching" mechanism in the vertex shader to work. Change-Id: Icb76168f0831547a3ca55ab79df7161736ed4dc4 Task-number: QTCREATORBUG-14446 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass.cpp b/tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass.cpp
index c2cff9cffb..b7944890af 100644
--- a/tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass.cpp
+++ b/tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass.cpp
@@ -105,6 +105,8 @@ void DummyModel::loadData()
{
for (int i = 0; i < 10; ++i)
insert(i, 1, 1);
+
+ insert(5, 0, 10);
}
float DummyModel::relativeHeight(int index) const
@@ -139,7 +141,7 @@ void tst_TimelineItemsRenderPass::update()
result = inst->update(&renderer, &parentState, 0, 0, 0, true, 1);
QCOMPARE(result, nullState);
- result = inst->update(&renderer, &parentState, 0, 2, 8, true, 1);
+ result = inst->update(&renderer, &parentState, 0, 2, 9, true, 1);
QVERIFY(result != nullState);
QCOMPARE(result->expandedOverlay(), nullNode);
QCOMPARE(result->expandedOverlay(), nullNode);
@@ -150,10 +152,10 @@ void tst_TimelineItemsRenderPass::update()
QSGGeometryNode *node = static_cast<QSGGeometryNode *>(result->expandedRows()[0]->firstChild());
QSGMaterial *material1 = node->material();
QVERIFY(material1 != 0);
- QCOMPARE(node->geometry()->vertexCount(), 26);
+ QCOMPARE(node->geometry()->vertexCount(), 30);
node = static_cast<QSGGeometryNode *>(result->collapsedRows()[0]->firstChild());
QSGMaterial *material2 = node->material();
- QCOMPARE(node->geometry()->vertexCount(), 26);
+ QCOMPARE(node->geometry()->vertexCount(), 30);
QVERIFY(material2 != 0);
QCOMPARE(material1->type(), material2->type());
QSGMaterialShader *shader1 = material1->createShader();
@@ -165,17 +167,20 @@ void tst_TimelineItemsRenderPass::update()
delete shader1;
delete shader2;
- result = inst->update(&renderer, &parentState, result, 0, 10, true, 1);
+ result = inst->update(&renderer, &parentState, result, 0, 11, true, 1);
QVERIFY(result != nullState);
QCOMPARE(result->expandedOverlay(), nullNode);
QCOMPARE(result->expandedOverlay(), nullNode);
QCOMPARE(result->expandedRows().count(), 1);
QCOMPARE(result->collapsedRows().count(), 1);
- QCOMPARE(result->expandedRows()[0]->childCount(), 2);
- QCOMPARE(result->collapsedRows()[0]->childCount(), 2);
- node = static_cast<QSGGeometryNode *>(result->expandedRows()[0]->lastChild());
+
+ // 0-sized node starting at 8 may also be added. We don't test for this one.
+ QVERIFY(result->expandedRows()[0]->childCount() > 1);
+ QVERIFY(result->collapsedRows()[0]->childCount() > 1);
+
+ node = static_cast<QSGGeometryNode *>(result->expandedRows()[0]->childAtIndex(1));
QCOMPARE(node->geometry()->vertexCount(), 8);
- node = static_cast<QSGGeometryNode *>(result->collapsedRows()[0]->lastChild());
+ node = static_cast<QSGGeometryNode *>(result->collapsedRows()[0]->childAtIndex(1));
QCOMPARE(node->geometry()->vertexCount(), 8);
model.setExpanded(true);