summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire350@gmail.com>2015-10-11 12:24:23 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-10-14 18:52:28 +0000
commitf85ae770b47e0e482e88ed5e7b14d8dfb3ea7e97 (patch)
tree38a3ad8404179be7dededa9dddb9ca7448bf26c6 /tests
parent21e80f8c40d6cd8795b03b846161771f7ecc7aa3 (diff)
QBuffer: add a sync property
When true, data loaded through a functor will also be updated to the frontend. Change-Id: I2980e00a927ed5f787e217a20e2c42d8c5ea0e81 Task-number: QTBUG-48454 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/qbuffer/tst_qbuffer.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/render/qbuffer/tst_qbuffer.cpp b/tests/auto/render/qbuffer/tst_qbuffer.cpp
index f71a61607..5711d9547 100644
--- a/tests/auto/render/qbuffer/tst_qbuffer.cpp
+++ b/tests/auto/render/qbuffer/tst_qbuffer.cpp
@@ -99,6 +99,7 @@ private Q_SLOTS:
indexBuffer->setUsage(Qt3DRender::QBuffer::StaticCopy);
indexBuffer->setData(QByteArrayLiteral("For displacement"));
indexBuffer->setBufferFunctor(Qt3DRender::QBufferFunctorPtr(new TestFunctor(1340)));
+ indexBuffer->setSync(true);
QTest::newRow("index") << indexBuffer;
}
@@ -118,6 +119,7 @@ private Q_SLOTS:
QCOMPARE(buffer->usage(), clone->usage());
QCOMPARE(buffer->type(), clone->type());
QCOMPARE(buffer->bufferFunctor(), clone->bufferFunctor());
+ QCOMPARE(buffer->isSync(), clone->isSync());
if (buffer->bufferFunctor()) {
QVERIFY(clone->bufferFunctor());
QVERIFY(*clone->bufferFunctor() == *buffer->bufferFunctor());
@@ -178,6 +180,18 @@ private Q_SLOTS:
QCOMPARE(change->value().value<Qt3DRender::QBufferFunctorPtr>(), functor);
arbiter.events.clear();
+
+ // WHEN
+ buffer->setSync(true);
+ QCoreApplication::processEvents();
+
+ // THEN
+ QCOMPARE(arbiter.events.size(), 1);
+ change = arbiter.events.first().staticCast<Qt3DCore::QScenePropertyChange>();
+ QCOMPARE(change->propertyName(), "sync");
+ QCOMPARE(change->value().toBool(), true);
+
+ arbiter.events.clear();
}
protected: