diff options
author | Paul Lemire <paul.lemire350@gmail.com> | 2015-10-11 12:24:23 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-10-14 18:52:28 +0000 |
commit | f85ae770b47e0e482e88ed5e7b14d8dfb3ea7e97 (patch) | |
tree | 38a3ad8404179be7dededa9dddb9ca7448bf26c6 /tests | |
parent | 21e80f8c40d6cd8795b03b846161771f7ecc7aa3 (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.cpp | 14 |
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: |